mySQL基于value+1递增列值的SELECT值更新值
查询:mySQL基于value+1递增列值的SELECT值更新值,mysql,Mysql,查询: UPDATE nominees SET votes = ( SELECT votes FROM nominees WHERE ID =1 ) +1 错误: 无法在中为更新指定目标表“提名人” 不确定有什么错,基于这个错误,这是我第一次尝试内联列入罪,我想你可以称之为内联列。因此,我显然做了一些错误的事情,但不知道如何修复它。您的更新查询缺少任何WHERE子句,因此即使MySQL允许这样做,其效果将是找到ID=1行的票数值,向其中添加1,然后用结果更新表中的所有行 我怀疑那不是我想要的行
UPDATE nominees SET votes = ( SELECT votes
FROM nominees
WHERE ID =1 ) +1
错误:
无法在中为更新指定目标表“提名人”
不确定有什么错,基于这个错误,这是我第一次尝试内联列入罪,我想你可以称之为内联列。因此,我显然做了一些错误的事情,但不知道如何修复它。您的更新查询缺少任何WHERE子句,因此即使MySQL允许这样做,其效果将是找到ID=1行的票数值,向其中添加1,然后用结果更新表中的所有行
我怀疑那不是我想要的行为。要增加列值,只需执行以下操作
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)
将其包装到派生表中可以避免由于错误而无法指定更新的目标表“代名人”。这就是问题所在!。。也许我对今晚的比赛感到厌倦了。。到处犯简单的错误。T是干什么的?在编辑结束时?@chris-它只是子查询/派生表的任意表别名。或者它可以说为T。更多关于这些的信息,请参阅。也许你可以帮我再问一个问题。。我以为我已经找到了答案,但我错了。问题是: