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.