MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

MySQLで主キー(プライマリーキー)を削除する方法

MySQLで主キー(プライマリーキー)を削除するには、DROP PRIMARY KEYコマンドを使用します。この記事では、実際にテーブルを作成しながら、主キーの削除手順をわかりやすく解説します。

1. 主キーを持つテーブルを作成する

まず、カラムに主キーを設定したサンプルテーブルを作成します。以下のクエリを実行してください。

mysql> create table PrimaryKeyDemo
   -> (
   -> id int not null,
   -> Primary key(id)
   -> );
Query OK, 0 rows affected (0.60 sec)

これで「id」カラムを主キーとするテーブル「PrimaryKeyDemo」が作成されました。

2. テーブル構造を確認する

DESCコマンドを使って、作成したテーブルの構造を確認してみましょう。

mysql> desc PrimaryKeyDemo;

実行結果は以下の通りです。

+-------+---------+------+-----+---------+-------+
| Field | Type    | Null | Key | Default | Extra |
+-------+---------+------+-----+---------+-------+
| id    | int(11) | NO   | PRI | NULL    |       |
+-------+---------+------+-----+---------+-------+
1 row in set (0.06 sec)

出力結果の「Key」列にPRIというキーワードが表示されています。これは「id」カラムが主キーとして設定されていることを示しています。

3. ALTER TABLEで主キーを削除する

それでは、ALTER TABLE文とDROP PRIMARY KEY句を組み合わせて、主キーを削除します。クエリは以下のようになります。

mysql> alter table PrimaryKeyDemo drop primary key;
Query OK, 0 rows affected (1.70 sec)
Records: 0  Duplicates: 0  Warnings: 0

4. 削除結果を確認する

最後に、主キーが正しく削除されたかどうかを確認しましょう。再度DESCコマンドを実行します。

mysql> DESC PrimaryKeyDemo;

実行結果は以下の通りです。先ほど主キーを削除したため、「Key」列には何も表示されていません。

+-------+---------+------+-----+---------+-------+
| Field | Type    | Null | Key | Default | Extra |
+-------+---------+------+-----+---------+-------+
| id    | int(11) | NO   |     | NULL    |       |
+-------+---------+------+-----+---------+-------+
1 row in set (0.00 sec)

まとめ

MySQLで主キーを削除する基本構文は次の通りです。

ALTER TABLE テーブル名 DROP PRIMARY KEY;

なお、主キーがAUTO_INCREMENT属性を持つ場合や、外部キー制約から参照されている場合は、そのまま削除できないことがあります。その際は、先にAUTO_INCREMENT属性を解除したり、参照している外部キー制約を削除してから操作を行ってください。

  1. MySQLで別テーブルの主キーを外部キーとして参照する方法をわかりやすく解説

    MySQLでは、あるテーブルの主キー(PRIMARY KEY)を、別のテーブルの外部キー(FOREIGN KEY)として参照することで、テーブル間にリレーション(関連付け)を構築できます。これによりデータの整合性が保たれ、参照先に存在しない値の登録を防ぐことができます。外部キー制約を追加する基本構文既存のテーブルに対して外部キー制約を追加するには、ALTER TABLE文を使用します。基本的な構文は以下のとおりです。alter table yourSecondTableName add constraint `yourConstraintName` foreign key(`yourSecon

  2. Accessのテーブルで主キーを追加・削除する方法をわかりやすく解説

    Microsoft Accessでテーブルを作成すると、Accessが自動的にデータベーステーブルへ主キーを作成してくれます。しかし、ユーザーが任意のフィールドを主キーとして指定することも可能です。 Accessにおける主キー(Primary Key)とは、テーブル全体を通じて一意の値を持つフィールド、またはフィールドの組み合わせのことです。主キーには以下のような特徴があります。 データベース内の各行を一意に識別できる 常に値が格納されており、空(Null)にならない 一度設定された値が変更されることはない Accessのテーブルで主キーを追加・削除する手順 Accessのデータベーステー