我试过了,但它显示错误#1064
if ((SELECT count(*) FROM group_participants WHERE collegeID = 1 AND itemID = 1) < 9)
begin
INSERT INTO group_participants (collegeID, partID, itemID) VALUES (1, 20 , 2)
end
完整的错误消息:
您的SQL语法有错误;查看与您的MySQL服务器版本对应的手册,以便在第1行'if((SELECT count(*)FROM group_participants WHERE collegeID = 1 AND itemID = 1)'附近使用正确的语法
答案 0 :(得分:0)
除编程块外,MySQL不支持if
。您可以将其表达为:
INSERT INTO group_participants (collegeID, partID, itemID)
SELECT 1, 20 , 2
FROM dual
WHERE (SELECT count(*)
FROM group_participants
WHERE collegeID = 1 AND itemID = 1
) < 9;
奇怪的是,插入的itemID
与正在测试的catch()
不同。我想这些应该是一样的。