Første skridt ville være at sætte en unik nøgle på bordet:
ALTER TABLE thetable ADD UNIQUE INDEX(pageid, name);
Så skal du beslutte dig for, hvad du vil gøre, når der er en dublet. Skal du:
-
ignorere det?
INSERT IGNORE INTO thetable (pageid, name) VALUES (1, "foo"), (1, "foo");
-
Vil du overskrive den tidligere indtastede post?
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')
-
Opdater en tæller?
INSERT INTO thetable (pageid, name) VALUES (1, "foo"), (1, "foo") ON DUPLICATE KEY UPDATE (pagecount = pagecount + 1)