SQL使用以前选择的ID执行某些操作

时间:2011-04-07 13:20:40

标签: sql

抱歉这个非特定的标题,但我的英语不是最好的。

我的问题是,我有一个表有一个id和一个名为v2_dl的类别字段,我有一个带有id的表,v2_dl_id和一个名为{{1}的类别字段}。

来自v2_dl的一行有很多来自v2_dl_search的行。

现在我想将每个v2_dl_search.category值设置为其所属v2_dl行的值。 (仅针对类别的一个特定值)

我在Php中编写了一个脚本来执行ist,但是while循环执行大约1k个查询,这对服务器来说似乎有点太多了。

v2_dl_search

有没有更好的方法只使用sql执行此操作?

对不起语言和解释感到抱歉。

1 个答案:

答案 0 :(得分:0)

对于特定类别,您希望这样做:

db_query("UPDATE v2_dl_search SET category = '3' WHERE v2_dl_id in (select v2_dl_id from v2_dl where category = '3')");

适用于所有类别:

db_query("UPDATE v2_dl_search SET category = (select category from v2_dl where v2_dl_search.v2_dl_id = v2_dl.v2_dl_id)");