列はUNIQUEである必要があります。現在、列に重複する値を許可する制約はありません。列をUNIQUEに変更します:
ALTER TABLE user_books ADD UNIQUE (bookID);
ただし、bookID
にすでに重複する値がある場合、このクエリは失敗します。 桁。重複するエントリの(自動)削除を気にしない場合は、代わりに次のクエリを使用してください。
ALTER IGNORE TABLE user_books ADD UNIQUE (bookID);
これにより、重複の最初に見つかったエントリが保持され、残りが削除されます。 bookID
のエントリが5つあると想像してください。 100.前述のクエリは、bookID
の最初のエントリを保持します 100、残りの4つを自動的に削除します。
次に、INSERT IGNORE INTO
を使用できます その後。