gpt4 book ai didi

当列匹配时 MySQL 更新或插入

转载 作者:行者123 更新时间:2023-11-30 00:04:55 25 4
gpt4 key购买 nike

我目前遇到的问题是,当两列(event_id 和 Question_id)与另一行具有相同的值时,我需要插入或更新一行例如我有事件 1 和事件的问题 2现在,当已经插入一个条目时,它应该将此条目更新为新值(选定)

但是我尝试的语法不起作用。您能帮我解决这个问题吗?

IF EXISTS (SELECT id as @info FROM votes WHERE event_id = 1 AND question_id = 2)
UPDATE votes SET selected='1,2,3' WHERE id=@info
ELSE
INSERT INTO `votes` (`id`, `event_id`, `question_id`, `selected`, `user_id`) VALUES (NULL, 1, 2, 3, 4)

最佳答案

您的问题似乎表明 event_idquestion_id 配对在一起将是一个唯一索引,因此首先我们需要运行:

ALTER TABLE `votes` ADD UNIQUE `event_question`(`event_id`, `question_id`);

这将为我们提供一个唯一的索引,使我们能够运行:

INSERT INTO `votes` (`event_id`, `question_id`, `selected`, `user_id`) VALUES (1, 2, 3, 4) ON DUPLICATE KEY UPDATE selected='1,2,3';

如果未找到特定 event_idquestion_id 的投票,这将插入新行。

关于当列匹配时 MySQL 更新或插入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24657528/

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