Първата стъпка би била да зададете уникален ключ на масата:
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')
-
Актуализирате брояч?
INSERT INTO thetable (pageid, name) VALUES (1, "foo"), (1, "foo") ON DUPLICATE KEY UPDATE (pagecount = pagecount + 1)