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

既存のMySQLテーブルの複数の列に適用されている複合PRIMARYKEY制約を削除するにはどうすればよいですか?


ALTER TABLEステートメントとともにDROPキーワードを使用することにより、既存のテーブルの複数の列から複合PRIMARYKEY制約を削除できます。

次のように列「ID」と「RoomNo」に複合PRIMARYKEY制約を持つテーブル「Room_allotment」があるとします-

mysql> describe room_allotment;
+--------+-------------+------+-----+---------+-------+
| Field  | Type        | Null | Key | Default | Extra |
+--------+-------------+------+-----+---------+-------+
| id     | int(11)     | NO   | PRI | 0       |       |
| Name   | varchar(20) | NO   | PRI |         |       |
| RoomNo | int(11)     | YES  |     | NULL    |       |
+--------+-------------+------+-----+---------+-------+
3 rows in set (0.06 sec)

これで、複合PRIMARY KEY制約を削除する場合は、ALTERTABLEステートメントを次のように使用できます-

mysql> Alter table room_allotment DROP PRIMARY KEY;
Query OK, 0 rows affected (0.19 sec)
Records: 0  Duplicates: 0  Warnings: 0  

mysql> describe room_allotment;
+--------+-------------+------+-----+---------+-------+
| Field  | Type        | Null | Key | Default | Extra |
+--------+-------------+------+-----+---------+-------+
| id     | int(11)     | NO   |     | 0       |       |
| Name   | varchar(20) | NO   |     |         |       |
| RoomNo | int(11)     | YES  |     | NULL    |       |
+--------+-------------+------+-----+---------+-------+
3 rows in set (0.07 sec)

上記の結果セットは、列「ID」と「RoomNo」からの複合PRIMARYKEY制約が削除されたことを示しています。


  1. MySQLテーブルから主キーを削除できますか?

    はい、MySQLのDROPを使用して主キーを削除できます。以下は構文です- alter table yourTableName drop primary key; まずテーブルを作成しましょう- mysql> create table DemoTable    (       UserId int NOT NULL PRIMARY KEY    ); Query OK, 0 rows affected (0.58 sec) 以下は、テーブルの説明を確認するためのクエリです- mysql> desc DemoT

  2. MySQLデータベーステーブルで複合主キーを識別する方法は?

    集計関数count(*)を使用できます。 1より大きい値を返す場合は、テーブルに複合主キーがあることを意味します。 まずテーブルを作成しましょう- mysql> create table DemoTable1324    -> (    -> StudentId int,    -> StudentName varchar(20),    -> StudentAge int,    -> StudentCountryName varchar(20) &nbs