Kolumna musi być UNIKATOWA. W tej chwili nie ma ograniczenia w kolumnie, co pozwala jej mieć zduplikowane wartości. Zmień kolumnę na UNIQUE:
ALTER TABLE user_books ADD UNIQUE (bookID);
To zapytanie nie powiedzie się jednak, jeśli masz już zduplikowane wartości w bookID
kolumna. Jeśli nie zależy Ci na (automatycznym) usuwaniu zduplikowanych wpisów, użyj zamiast tego następującego zapytania:
ALTER IGNORE TABLE user_books ADD UNIQUE (bookID);
Spowoduje to zachowanie pierwszego znalezionego wpisu wszelkich duplikatów i usunięcie pozostałych, czyli tzw. Wyobraź sobie, że masz 5 wpisów z bookID
100. Powyższe zapytanie zachowa pierwszy wpis z bookID
100, a pozostałe 4 usuń automatycznie.
Następnie możesz użyć INSERT IGNORE INTO
później.