UPDATE b_product_attribute SET state = 0 WHERE id IN (SELECT * FROM (SELECT id FROM b_product_attribute WHERE productid = 730 AND id NOT IN (1379,1380,1381)) bpa);上述为正确写法,错误格式如下:UPDATE b_product_attribute SET state = 0 WHERE id IN (SELECT id FROM b_product_attribute WHERE productid = 730 AND id NOT IN (1379,1380,1381));原因为:不可对同一表同时进行更新和查询操作,所以应加入select * from 创建新别名
本文介绍了一种特定的SQL更新语句的正确用法及错误示例,强调了不可在同一查询中同时更新和选择同一表的数据。通过创建新表别名的方式解决了这一问题。
1775

被折叠的 条评论
为什么被折叠?



