尝试使用第二个表MySQL中的值更新表会导致无休止的"正在运行的查询"

时间:2015-05-26 20:54:21

标签: mysql

我试图根据两个表中其他列的匹配,使用第二个表中的值替换一个表中的空值。虽然代码不会导致错误,但它不会停止运行,从而产生无休止的"运行查询"信号。代码在这里     更新pl_building b     INNER JOIN pl_grt t     ON b.INST = t.inst     SET b.Utuition = t.tuition     在哪里b.UtUITION = 0;

1 个答案:

答案 0 :(得分:0)

您不应该更新联接表。

我不确定您要更新哪个字段,但您的SQL应该如下所示:

UPDATE pl_building b 
SET b.Utuition= (select t.tuition from  pl_grt t ON b.INST = t.inst) 
WHERE b.UtUITION = 0;

确保:

1)您在t.inst表格列上有一个索引,也可能在b.UtUITION

2)b.INST = t.inst之间的关系是唯一的。永远不会返回超过1行。