gpt4 book ai didi

MySQL UPDATE 使用 IF 选择哪一列+1

转载 作者:行者123 更新时间:2023-11-29 14:02:34 26 4
gpt4 key购买 nike

我有一个投票表,如果POST值为1则更新tableA column_a +1否则更新表A column_b +1

这是我的查询,不知道如何在此处使用 IF 语句。

UPDATE 
votes,
topics
SET votes.yesno = 1,
IF(votes.yesno = 1, topics.num_yes = topics.num_yes+1, topics.num_no = topics.num_no+1)
WHERE votes.user_id=? AND votes.topic_id=?
AND topics.id = votes.topic_id

最佳答案

我想这可能就是您正在寻找的。您不能使用 IF 指定列,但可以使用它指定值:

UPDATE votes v
INNER JOIN topics t ON v.topic_id = t.topic_id
SET v.yesno = 1,
t.num_yes = IF(v.yesno = 1, t.num_yes + 1, t.num_yes),
t.num_no = IF(v.yesno = 1, t.num_no, t.num_no + 1)
WHERE v.user_id = ?
AND v.topic_id = ?

这是一些示例 SQL Fiddle .

祝你好运。

关于MySQL UPDATE 使用 IF 选择哪一列+1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14845154/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com