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