La columna debe ser ÚNICA. En este momento no hay ninguna restricción en la columna que le permita tener valores duplicados. Cambie la columna a ÚNICO:
ALTER TABLE user_books ADD UNIQUE (bookID);
Sin embargo, esta consulta fallará si ya tiene valores duplicados en el bookID
columna. Si no le importa la eliminación (automática) de entradas duplicadas, utilice la siguiente consulta en su lugar:
ALTER IGNORE TABLE user_books ADD UNIQUE (bookID);
Esto mantendrá la primera entrada encontrada de cualquier duplicado y eliminará el resto, es decir. Imagina tener 5 entradas con bookID
100. La consulta antes mencionada mantendrá la primera entrada con bookID
100 y eliminar los 4 restantes automáticamente.
Entonces puedes usar INSERT IGNORE INTO
a partir de entonces.