每当我执行此查询时,我都在尝试将此子查询的数量减少1。我认为它将在SQL Server上运行,但是为什么不能在MySQL上运行。我收到此错误:
表't1'被指定两次,既作为'UPDATE'的目标,又作为数据的单独来源
这是我的代码
更新tblbooks AS t1 设置t1.Quantity =(选择t2.Quantity-1 来自tblbooks AS t2 其中t2.BookId = 123) 其中t1.BookId = 123
答案 0 :(得分:2)
您在那里不需要子查询-您可以将一列的计算重新分配回同一列:
UPDATE tblbooks
SET Quantity = Quantity - 1
WHERE BookId = 123