我正在尝试将一种成分插入到成分表中(如果它不存在)。 我正在使用以下语法:
INSERT INTO ingredient(Name)
(
SELECT 'ingName' FROM dummytable WHERE
(SELECT count(*) FROM ingredient WHERE Name = 'ingName')=0)
这似乎不起作用(0 行受影响),即使 SELECT 查询似乎返回了所需的结果(一个包含“ingName”的条目)。
“成分”表有 2 列:名称、id(id 是自动递增的)
谢谢, 李
最佳答案
最好在name
列上添加唯一索引:
ALTER TABLE `ingredient` ADD UNIQUE(`Name`)
完成后你可以使用INSERT IGNORE
:
INSERT IGNORE INTO `ingredient` ... /* anything */
关于mysql插入值,如果它不存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10574426/