Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
解决方案:
在多列上放置唯一约束
ALTER TABLE rating ADD UNIQUE KEY ( id , id );
我想在我的评分系统中插入一个分数。如果数据不存在,我希望能够插入数据。如果确实存在,我还希望相同的查询返回真/假。
我调查INSERT IGNORE过,但默默地失败了,所以我不知道如何检查。
INSERT IGNORE
我知道我可以尝试 aSELECT ... WHERE id = 1和 THAN 插入,但我想将其移至单个插入,这可能吗?
SELECT ... WHERE id = 1
如果您在要检查的一个或多个列上使用唯一键约束,则如果没有数据,则正常插入将成功,或者如果已经有匹配项,则由于唯一键约束而嘈杂地失败。
INSERT INTO `rating` (value1) SELECT 'your rate for value1' FROM `rating` WHERE NOT EXISTS (SELECT * FROM `rating` WHERE value1='your rate for value1' ) LIMIT 1;