可以使用唯一ID来避免在mysql中重复输入吗?

时间:2014-05-23 20:18:40

标签: php mysql sql

比如说,如果我希望表中的一列具有非等值integer或varchar,那么可以将该唯一值与'insert ignore into'一起使用以避免重复数据输入或使用某些php函数更好?

3 个答案:

答案 0 :(得分:1)

为避免重复数据输入,我发现在字段上使用主键上的AUTO_INCREMENT修饰符最容易。

通过这种方式,您可以添加到桌面,直到您满意为止,而无需担心重复的密钥。另外,尽可能多地使用mySQL来保存SQL内容。

答案 1 :(得分:1)

如果在唯一字段中存在重复,

insert ignore将不会插入任何内容。它也不会引发错误,因此取决于您正在实施的内容。

答案 2 :(得分:1)

在要阻止重复的列上创建唯一索引。然后我建议使用:

INSERT INTO ... 
ON DUPLICATE UPDATE columnName = columnName

而不是在PHP中执行,因为您希望最小化对数据库的调用次数。要在PHP中执行此操作意味着您必须执行两个查询:首先SELECT查看该行是否已存在,然后是INSERT

ON DUPLICATE KEY UPDATE优先于INSERT IGNORE,因为它不会阻止您收到其他错误的通知。您需要指定至少一个要更新的列;通过将列设置为其当前值,没有任何更改。