MySQL で主キーを削除する
問題ステートメント:
次の場合にユーザーがエラーに遭遇するMySQL テーブル user_customer_permission の 2 つの列から主キーを削除しようとしています。コマンド「alter table user_customer_permissiondropprimary key;」を発行すると、「テーブル定義が正しくありません。自動列は 1 つだけ存在でき、キーとして定義する必要があります。」というエラーが表示されます。
回答:
MySQL では、自動インクリメント カラム (この場合は id カラムなど) がインデックスの一部である必要があります。この問題を解決するには、ユーザーは主キーを削除する前に、まず id 列から autoincrement プロパティを削除する必要があります。
次の手順は、解決策の概要です:
自動インクリメントの削除プロパティ:
ALTER TABLE user_customer_permission MODIFY id INT NOT NULL;
主キーの削除:
ALTER TABLE user_customer_permission DROP PRIMARY KEY;
その他の考慮事項:
ユーザー以来3 つの列すべてを含む複合主キーを指定しましたが、ID が一意であることは保証されません。ただし、それが一意である場合は、次のコマンドを使用して ID を主キーとして復元し、列を自動インクリメントできます:
ALTER TABLE user_customer_permission MODIFY id INT NOT NULL PRIMARY KEY AUTO_INCREMENT;
以上がオートインクリメント列が存在する場合に MySQL で主キーを削除する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。