mysqlで主キーを削除するにはどうすればよいですか?

青灯夜游
リリース: 2020-09-16 09:34:57
オリジナル
32344 人が閲覧しました

テーブルに主キーを設定した後、主キーを削除したい場合はどうすればよいですか?以下の記事ではMySQLの主キーを削除する方法を紹介しますので、ご参考になれば幸いです。

mysqlで主キーを削除するにはどうすればよいですか?

まず、主キーを削除する構文を見てみましょう。

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

主キーを削除する場合は、2 つの状況を考慮する必要があります。 MySQL の場合:

1. 主キー列には制約がなく、主キーは直接削除できます。

例:

mysql> create table test1_3(
    -> id int not null primary key,
    -> name char(10)
    -> );
Query OK, 0 rows affected (0.01 sec)
ログイン後にコピー

drop を直接使用して、主キーを削除します

mysql> alter table test1_3 drop primary key;
Query OK, 0 rows affected (0.02 sec)
Records: 0  Duplicates: 0  Warnings: 0
ログイン後にコピー

2。オートインクリメントの主キー(AUTO_INCREMENT属性)の場合

例:

mysql> create table test1_2(
    -> id int not null  auto_increment,
    -> name char(10),-> primary key(id)
    -> );
Query OK, 0 rows affected (0.00 sec)

mysql> desc test1_2;
+-------+----------+------+-----+---------+----------------+
| Field | Type     | Null | Key | Default | Extra          |
+-------+----------+------+-----+---------+----------------+
| id    | int(11)  | NO   | PRI | NULL    | auto_increment |
| name  | char(10) | YES  |     | NULL    |                |
+-------+----------+------+-----+---------+----------------+
2 rows in set (0.00 sec)
ログイン後にコピー

直接削除するとエラーになります。報告された

mysql> alter table test1_2 drop primary key;
ログイン後にコピー

出力:

ERROR 1075 (42000): Incorrect table definition; there can be only one auto column and it must be defined as a key               
#这说明此列是自动增长列,无法直接删除
ログイン後にコピー

列の属性はまだ AUTO_INCREMENT を使用する場合、主キーを削除する前に、まずこの列の自動拡張属性を削除する必要があります。

rree

以上がmysqlで主キーを削除するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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