查询:
UPDATE nominees SET votes = ( SELECT votes
FROM nominees
WHERE ID =1 ) +1
sai lầm:
You can't specify target table 'nominees' for update in FROM
根据错误不确定那里有什么问题,这是我第一次尝试内联列,我想你可以调用它。所以我很明显做错了什么,但不知道如何解决。
của bạn CẬP NHẬT
查询缺少任何 WHERE
子句,因此即使 MySQL 允许它,结果也是找到 votes
giá trịID =1
行加 1,然后用结果更新表中的tất cả行。
我怀疑这不是我们想要的行为。要增加您只需要做的列值
UPDATE nominees
SET votes = votes +1
WHERE ID =1
以防万一您确实想要您需要做的其他行为
UPDATE nominees
SET votes = (select votes + 1
FROM (SELECT votes
FROM nominees
WHERE ID = 1) T)
这种包装到派生表中的方法避免了您遇到的 You can't specify target table 'nominees' for update in FROM
错误。
Tôi là một lập trình viên xuất sắc, rất giỏi!