Christopher Roberts
Christopher Roberts

Reputation: 3

MySQL INSERT IGNORE INTO keeps adding duplicate entries

Here's the particular area im having an issue with

mysql_query("INSERT IGNORE INTO storeip (ip)
VALUES ('$ip')");

when testing this it keeps adding the same entry to the table even though I have set IGNORE INTO.

Upvotes: 0

Views: 4223

Answers (3)

Nico
Nico

Reputation: 473

If the IP is the only field on the table, just make it primary key and there will be no duplicates

alter table storeip add primary key (ip);

Upvotes: 0

sivann
sivann

Reputation: 2131

Why shouldn't it? ignore just ignores errors. Make the ip unique.

alter table storip add unique (ip);

Upvotes: 0

Chris Henry
Chris Henry

Reputation: 12010

It looks like you don't have a UNIQUE INDEX on the IP column. In order for INSERT IGNORE to work as required, that's neccessary. Try this;

ALTER TABLE ip ADD UNIQUE(ip)

To remove duplicates already, you can run this.

ALTER IGNORE TABLE ip ADD UNIQUE(ip)

Upvotes: 1

Related Questions