我想将值插入表中,但需要检查该值是否存在于最后一行中。我通常插入像
这样的值INSERT INTO `table` (`column1`,`column2`,`column3`,`column4`) VALUES ('value1','value2','value3','value4')
但是现在我需要检查一下,如果表1的最后一行中存在value1则不插入,否则插入。
为此我试图使用
WHERE NOT EXISTS
如果值存在,我实际上想检查表的最后一行,然后它不应该复制它。
答案 0 :(得分:1)
您可以明确说明当表的主键已存在时会发生什么。例如:
INSERT INTO table (...) VALUES (...) ON DUPLICATE KEY UPDATE
答案 1 :(得分:0)
别选子选择。它在MySQL中是强制性的。
答案 2 :(得分:0)
另外,根据文档,在WHERE NOT EXISTS选择中,您不需要指定字段(value1,value2,在您的情况下),因为它完全被忽略。所以只需使用*
无论如何,我相信这会回答你的问题: How to 'insert if not exists' in MySQL?
答案 3 :(得分:0)
在对上添加唯一约束(第1列,第2列)不是更好的方法吗?