我正在尝试从表中读取值,只有当我尝试插入的凝视在表中不存在时,它们才会将其插入另一个表中。
我曾尝试使用 ON DUPLICATE 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;
我正在尝试从表中读取值,只有当我尝试插入的凝视在表中不存在时,它们才会将其插入另一个表中。
我曾尝试使用 ON DUPLICATE 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;
子句 isINSERT INTO ... SELECT
和 not SELECT ... INSERT INTO
。所以:
INSERT INTO result_codes( result_code_title, created_by )
SELECT Field1, '2'
FROM RSF
ON DUPLICATE KEY
UPDATE result_code_title = Field1;
我认为这应该有效。
因为您只想在字符串不存在时才插入;你最好使用INSERT INGORE
:
INSERT IGNORE INTO result_codes( result_code_title, created_by )
SELECT Field1, '2'
FROM RSF
改为使用INSERT IGNORE
。
INSERT IGNORE INTO result_codes(result_code_title, created_by)
SELECT Field1, '2'
FROM RSF
它通过主键或唯一索引检测一行是否已经存在,如果是这种情况则不尝试插入。