比如说,如果我希望表中的一列具有非等值integer或varchar,那么可以将该唯一值与'insert ignore into'一起使用以避免重复数据输入或使用某些php函数更好?
答案 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
,因为它不会阻止您收到其他错误的通知。您需要指定至少一个要更新的列;通过将列设置为其当前值,没有任何更改。