MySQL INSERT IGNORE INTO продолжает добавлять дубликаты записей

Вот конкретная область, с которой у меня возникают проблемы

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

при тестировании это продолжает добавлять ту же самую запись в таблицу, даже если я установил IGNORE INTO. Я только начал изучать PHP и MySQL, поэтому любая помощь будет принята с благодарностью.

Спасибо

3 ответа

Решение

Похоже, у вас нет UNIQUE INDEX в столбце IP. Для того чтобы INSERT IGNORE работал должным образом, это необходимо. Попробуй это;

ALTER TABLE ip ADD UNIQUE (ip)

Чтобы удалить дубликаты уже, вы можете запустить это.

ALTER IGNORE TABLE ip ADD UNIQUE (ip)

Почему бы и нет? игнорировать, просто игнорирует ошибки. Сделайте IP уникальным.

alter table storip add unique (ip);

Если IP - единственное поле в таблице, просто сделайте его первичным ключом, и дубликатов не будет

alter table storeip add primary key (ip);
Другие вопросы по тегам