ホームページ > データベース > mysql チュートリアル > MySQL で自動インクリメント列を保持したまま複合主キーを削除するにはどうすればよいですか?

MySQL で自動インクリメント列を保持したまま複合主キーを削除するにはどうすればよいですか?

Susan Sarandon
リリース: 2024-12-31 03:28:10
オリジナル
394 人が閲覧しました

How to Remove Composite Primary Keys in MySQL While Keeping an Auto-Increment Column?

MySQL の複数の列から主キーを削除する

質問:

user_customer_id と user_customer_id から主キーを削除するにはどうすればよいですか? user_customer_permission テーブルの id の主キーを保持しながら、permission_id が発生したにもかかわらず、 「alter table user_customer_permissiondropprimary key」コマンド使用時のエラー?

説明:

MySQL では、自動インクリメント カラムが一番左のインデックスの一部である必要があります。この場合、id 列は自動インクリメントであるため、id から主キーを削除するとこの要件に違反します。

解決策:

user_customer_id から主キーを正常に削除するにはおよび Permission_id を削除するには、次の手順に従います。

  1. ID 列からの autoincrement プロパティ:

    ALTER TABLE user_customer_permission MODIFY id INT NOT NULL;
    ログイン後にコピー
  2. 主キーの削除:

    ALTER TABLE user_customer_permission DROP PRIMARY KEY;
    ログイン後にコピー

注:テーブルには、以前は 3 つの列 (id、id、 user_customer_id、permission_id)。 id 列の一意性を確保するには、オートインクリメントを使用して id 列を再度主キーにします。

ALTER TABLE user_customer_permission MODIFY id INT NOT NULL PRIMARY KEY AUTO_INCREMENT;
ログイン後にコピー

次の手順に従うことで、主キーを保持したまま user_customer_id と Permission_id から主キーを正常に削除できます。 ID 用。

以上がMySQL で自動インクリメント列を保持したまま複合主キーを削除するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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