1
ALTER IGNORE TABLE mytbl ADD UNIQUE (columnName);
これにより、フィールドには一意のインデックスが作成されますが、コマンドは空の値を持つすべての行を削除します。それが役に立つなら、フィールドはNULL値を持つかもしれません。MySQL - 空のエントリを削除せずに既存のフィールドを一意にする
ALTER IGNORE TABLE mytbl ADD UNIQUE (columnName);
これにより、フィールドには一意のインデックスが作成されますが、コマンドは空の値を持つすべての行を削除します。それが役に立つなら、フィールドはNULL値を持つかもしれません。MySQL - 空のエントリを削除せずに既存のフィールドを一意にする
"空"(?)の値をNULLに設定し、IGNORE
を使用しないでください。 ALTER IGNORE
の目的は、重複する値を削除することです。複数のNULLは、式NULL = NULL
が真ではない(そして偽でもない)ため、お互いの重複ではありません。
私はMysqlがUniqueとしてNULLを受け入れることを理解していません –