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

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

Patricia Arquette
リリース: 2024-12-25 13:36:13
オリジナル
934 人が閲覧しました

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

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート