Bước đầu tiên sẽ là thiết lập một khóa duy nhất trên bảng:
ALTER TABLE thetable ADD UNIQUE INDEX(pageid, name);
Sau đó, bạn phải quyết định những gì bạn muốn làm khi có một bản sao. Bạn có nên:
-
bỏ qua nó?
INSERT IGNORE INTO thetable (pageid, name) VALUES (1, "foo"), (1, "foo");
-
Ghi đè bản ghi đã nhập trước đó?
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')
-
Cập nhật một số bộ đếm?
INSERT INTO thetable (pageid, name) VALUES (1, "foo"), (1, "foo") ON DUPLICATE KEY UPDATE (pagecount = pagecount + 1)