Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/55.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用mysql仅在表中的值不存在时插入这些值?_Mysql - Fatal编程技术网

如何使用mysql仅在表中的值不存在时插入这些值?

如何使用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

我试图从一个表中读取值,只有当我试图插入的值在表中不存在时,才将其插入到另一个表中

我曾尝试使用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;

使用
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标题是唯一的?或“按列创建”是时,插入忽略才起作用。同样适用于重复钥匙上的