Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Vermeiden Sie doppelte IDs in PHP

Die Spalte muss EINZIGARTIG sein. Im Moment gibt es keine Einschränkung für die Spalte, die doppelte Werte zulässt. Ändern Sie die Spalte in UNIQUE:

ALTER TABLE user_books ADD UNIQUE (bookID);

Diese Abfrage schlägt jedoch fehl, wenn Sie bereits doppelte Werte in bookID haben Säule. Wenn Ihnen die (automatische) Entfernung doppelter Einträge egal ist, verwenden Sie stattdessen die folgende Abfrage:

ALTER IGNORE TABLE user_books ADD UNIQUE (bookID);

Dadurch wird der erste gefundene Eintrag aller Duplikate beibehalten und der Rest gelöscht, dh. Stellen Sie sich vor, Sie haben 5 Einträge mit bookID 100. Die oben genannte Abfrage behält den ersten Eintrag mit bookID 100 und lösche die restlichen 4 automatisch.

Dann können Sie INSERT IGNORE INTO verwenden danach.