不同的结果更新并在mysql中选择使用join

时间:2015-01-03 04:52:34

标签: mysql sql syntax

我尝试使用以下sql语法更新某些记录

update product_class1 t1 
join product_class1 t2
on t1.family_code = t2.family_code
set t1.parent_id = t2.id
where t1.id < 145
and t1.id > 140
and t2.class_code = ''

它给我零(0)记录结果

虽然我尝试使用类似的sql语法选择语句

select *
from  product_class2 t1 
join  product_class2 t2
on  t1.family_code = t2.family_code
where t1.id < 145
and t1.id > 140
and t2.class_code = ''

它给了我4条记录的结果。

我不知道更新sql语句有什么问题。 感谢是否有人可以指出这个建议。

问候

1 个答案:

答案 0 :(得分:0)

您在update查询中输入了一个拼写错误 - 您正在加入product_class1而不是使用product_class2。只需修复join语句,您就可以了。

update product_class2 t1 --here!
join product_class2 t2 -- and here!
on t1.family_code = t2.family_code
set t1.parent_id = t2.id
where t1.id < 145
and t1.id > 140
and t2.class_code = ''