如何使用mysql仅在表中的值不存在时插入这些值?
我试图从一个表中读取值,只有当我试图插入的值在表中不存在时,才将其插入到另一个表中 我曾尝试使用ON replicate KEY子句,但我遇到了一个无法修复的语法问题 这是我的问题如何使用mysql仅在表中的值不存在时插入这些值?,mysql,Mysql,我试图从一个表中读取值,只有当我试图插入的值在表中不存在时,才将其插入到另一个表中 我曾尝试使用ON replicate KEY子句,但我遇到了一个无法修复的语法问题 这是我的问题 SELECT Field1 FROM RSF INSERT INTO result_codes(result_code_title, created_by) VALUES (Field1, '2') ON DUPLICATE KEY UPDATE result_code_title = Field1; 使用INSE
SELECT Field1 FROM RSF
INSERT INTO result_codes(result_code_title, created_by)
VALUES (Field1, '2')
ON DUPLICATE KEY UPDATE result_code_title = Field1;
使用
INSERT IGNORE
INSERT IGNORE INTO result_codes(result_code_title, created_by)
SELECT Field1, '2'
FROM RSF
它通过主键或唯一索引检测行是否已存在,如果是这种情况,则不尝试插入。子句是
插入到。。。选择而不是选择。。。插入到
。因此:
INSERT INTO result_codes( result_code_title, created_by )
SELECT Field1, '2'
FROM RSF
ON DUPLICATE KEY
UPDATE result_code_title = Field1;
我认为这应该行得通
因为您只想在字符串不存在的情况下插入;您最好使用插入INGORE
:
INSERT IGNORE INTO result_codes( result_code_title, created_by )
SELECT Field1, '2'
FROM RSF
我只是想弄清楚。只有在列结果\u代码\u标题是唯一的?或“按列创建”是时,插入忽略才起作用。同样适用于重复钥匙上的