唯一 VS 插入忽略

Unique VS INSERT IGNORE

如您所知,unique 列只接受非重复值。现在,我看到了一个关键词IGNORE (在INSERT语句之后使用).

嗯,我在文档中读到了 INSERT IGNORE,我发现它的工作正是 unique 所做的!那么,什么时候应该使用 IGNORE 而不是 unique 列?什么时候有用?

这两个构造是互补的。 unique 约束确保列不能获得重复值。 insert 语句中的 ignore 关键字允许 insert 语句在向 table.[=15= 插入新行时忽略任何错误(例如违反唯一约束) ]

如果没有约束,您的插入语句只会在 table 中创建重复值。如果没有 ignore 关键字,尝试插入此类值会出错,而不是静静地什么都不做。