gpt4 book ai didi

mysql - 如果两列相同,则使用 mysql 插入或更新

转载 作者:行者123 更新时间:2023-11-29 15:39:16 25 4
gpt4 key购买 nike

我有一张表来存储客户的答案。我想使用一个 mysql 查询来插入或更新此表。我的表名称:questionform_answer和列 > ClientID QuestionID OptionID

每个客户只能有一个相同的问题id。例如

 ClientID QuestionID OptionID
1 1 1
1 2 5
2 1 3

如果 ClientID 和 QuestionID 已经存在,我想更新 OptionID。我不想使用选择查询,所以要花时间。我试过了

     ON KEY UPDATE
Replace Into

但我不能。我使用 php,所以我尝试首先更新查询,如果 mysqli 返回失败插入行,但它也很慢。我的插入和更新代码:

   Insert Into questionform_answer (ClientID,QuestionID,OptionID) values 
('$ClientID','$soruid','$cevapid')


Update questionform_answer set OptionID='$cevapid' where
ClientID='$ClientID' and QuestionID='$soruid'

最佳答案

解决此问题的一种方法是在 (ClientID, QuestionID) 上添加唯一键并使用 INSERT ... ON DUPLICATE KEY UPDATE查询:

ALTER TABLE table1
ADD UNIQUE INDEX (ClientID, QuestionID);

INSERT INTO table1
VALUES (1, 1, 4)
ON DUPLICATE KEY UPDATE
OptionID = VALUES(OptionID)

Demo on dbfiddle

关于mysql - 如果两列相同,则使用 mysql 插入或更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57849914/

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