仅当该表中所有其他行的 state=0 时,我才尝试插入 mysql 条目。
例如。锦标赛表中有 350 个锦标赛行,全部状态=0,1 行状态=2。当查询运行时,我希望它检查是否仅存在一行且状态=2,如果存在则执行插入,如果不存在则不执行。我尝试将此作为解决方案,但失败了:
INSERT INTO newTournaments(`start`,`registration`,`end`,`prize`,`state`)
VALUES('1','1','1','1','1')
where (SELECT id FROM newTournaments WHERE state != 0) = tournamentId;
最佳答案
这似乎是通过 select 语句插入会有所帮助的情况:
INSERT INTO newTournaments(`start`,`registration`,`end`,`prize`,`state`)
SELECT '1','1','1','1','1'
FROM (select 'a') a
WHERE (SELECT count(*) FROM newTournaments WHERE state = 2) = 1
<强> sqlfiddle
关于mysql - 仅当该表中所有其他行的值为 0 时才插入 mysql 行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32778887/