如果在没有UNIQUE FIELDS的表中已经存在行,则mysql插入

Gle*_*enn 2 mysql conditional insert not-exists

现在已经有一段时间了解如何实现这一目标.

似乎所有解决方案都需要带索引的唯一字段.

aff*_*tee 9

INSERT中没有IF NOT EXISTS语法,但您可以使用ON DUPLICATE KEY机制.假设您在firstname,lastname上创建了唯一索引,您的更新可能会显示为:

INSERT INTO tb (firstname, lastname) 
VALUES ('Jack', 'Doe') 
ON DUPLICATE KEY UPDATE lastname = lastname;
Run Code Online (Sandbox Code Playgroud)

这使插入中性.