使用 phpMyAdmin 避免 MySQL 中的重复条目
应仔细管理将数据插入表中,以防止重复,这可能会损害数据完整性。在 MySQL 中,实现这一点至关重要,尤其是对于大型数据集。防止重复的一种方法是使用唯一索引。
创建唯一索引
在实施避免措施之前,必须在表上建立唯一索引。这可确保特定列(在本例中为 pageId 和 name)的组合不能重复。为此,请执行以下查询:
ALTER TABLE thetable ADD UNIQUE INDEX(pageid, name);
处理重复场景
有了唯一索引,下一步就是决定如何处理重复条目。以下是三个常见选项:
INSERT IGNORE INTO thetable (pageid, name) VALUES (1, "foo"), (1, "foo");
此方法会丢弃任何重复的行并继续仅插入唯一的行.
INSERT INTO thetable (pageid, name, somefield) VALUES (1, "foo", "first") ON DUPLICATE KEY UPDATE (somefield = 'first'); INSERT INTO thetable (pageid, name, somefield) VALUES (1, "foo", "second") ON DUPLICATE KEY UPDATE (somefield = 'second');
使用 ON DUPLICATE KEY UPDATE,重复的行将使用提供的值进行更新。请注意,根据插入顺序,某些字段的值将是“第一个”或“第二个”。
INSERT INTO thetable (pageid, name) VALUES (1, "foo"), (1, "foo") ON DUPLICATE KEY UPDATE (pagecount = pagecount + 1);
此方法维护每个唯一 pageId 和名称组合的出现次数。对于每个重复条目,页数字段都会增加。
以上是如何使用唯一索引和不同的处理方法防止 MySQL 中出现重复条目?的详细内容。更多信息请关注PHP中文网其他相关文章!