ホームページ >データベース >mysql チュートリアル >オートインクリメント列が存在する場合に MySQL で主キーを削除する方法は?

オートインクリメント列が存在する場合に MySQL で主キーを削除する方法は?

Patricia Arquette
Patricia Arquetteオリジナル
2024-12-25 13:36:13936ブラウズ

How to Drop a Primary Key in MySQL When an Autoincrement Column Exists?

MySQL で主キーを削除する

問題ステートメント:

次の場合にユーザーがエラーに遭遇するMySQL テーブル user_customer_permission の 2 つの列から主キーを削除しようとしています。コマンド「alter table user_customer_permissiondropprimary key;」を発行すると、「テーブル定義が正しくありません。自動列は 1 つだけ存在でき、キーとして定義する必要があります。」というエラーが表示されます。

回答:

MySQL では、自動インクリメント カラム (この場合は id カラムなど) がインデックスの一部である必要があります。この問題を解決するには、ユーザーは主キーを削除する前に、まず id 列から autoincrement プロパティを削除する必要があります。

次の手順は、解決策の概要です:

  1. 自動インクリメントの削除プロパティ:

    ALTER TABLE user_customer_permission MODIFY id INT NOT NULL;
  2. 主キーの削除:

    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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。