[英]MySQL ignoring duplicates on non-primary key
我有一個通過此SQL語句創建的表:
CREATE TABLE employees (
id INTEGER NOT NULL AUTO_INCREMENT,
name VARCHAR(20),
PRIMARY KEY (id)
);
我想使用類似的東西插入表格
INSERT IGNORE INTO employees (name) values ('foo');
但對於該語句,如果表中已經存在一個名為“ foo”的人,則不執行任何操作。 是否有一條語句可以忽略除主鍵或定義為唯一的字段以外的其他字段上的重復項?
INSERT INTO employees (name)
SELECT "foo" name FROM (select count(*) c
from employees
where name = "foo"
having c = 0) x;
您應該在name
上建立索引以提高效率。 我不確定為什么您不想使其成為唯一索引。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.