我正在构建一个Web应用程序,用户可以在其中回答问题。我正在尝试运行一个查询,其中将这些答案插入表中,但用户只能回答一次相同的问题。就我而言,查询必须检查question_id和reply_user的重复项。 (reply_id已被定义为主键)。
例如,当我在表中有答案:question_id = 1和reply_user = John时,John无法再对question_id 1进行答复。但是其他用户当然可以。
我目前正在运行:
INSERT INTO replies (question_id, reply_user, reply_content, reply_anwer)
VALUES (:questionid, :replyuser, :replycontent, :replyanswer)
SELECT question_id, reply_user FROM replies WHERE NOT EXISTS (
SELECT question_id FROM replies
WHERE question_id = question_id AND reply_user = reply_user
)
我尝试了WHERE NOT EXISTS,但找不到解决方案。
谢谢你的帮助
最佳答案
您需要提交unique
2个文件:
ALTER TABLE `replies` ADD UNIQUE (`question_id`,`reply_user`);
然后使用此查询:
INSERT INTO replies (question_id, reply_user, reply_content, reply_anwer)
VALUES (:questionid, :replyuser, :replycontent, :replyanswer)
如果
question_id
,reply_user
存在查询未运行,则运行。关于php - SQL:在2列中检查重复项,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37076652/