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

既存のMySQLテーブルの複数の列にPRIMARYKEYを設定するにはどうすればよいですか?


ADDキーワードとALTERTABLEステートメントを使用して、既存のテーブルの複数の列にPRIMARYKEY制約を設定できます。

次のようなテーブル「Room_allotment」があるとします-

mysql> Create table Room_allotment(Id Int, Name Varchar(20), RoomNo Int);
Query OK, 0 rows affected (0.20 sec)

mysql> Describe Room_allotment;
+--------+-------------+------+-----+---------+-------+
| Field  | Type        | Null | Key | Default | Extra |
+--------+-------------+------+-----+---------+-------+
| Id     | int(11)     | YES  |     | NULL    |       |
| Name   | varchar(20) | YES  |     | NULL    |       |
| RoomNo | int(11)     | YES  |     | NULL    |       |
+--------+-------------+------+-----+---------+-------+
3 rows in set (0.11 sec)

これで、次のクエリを使用して、「id」と「Name」の複数の列に複合PRIMARYKEYを追加できます

mysql> Alter Table Room_allotment ADD PRIMARY KEY(Id, Name);
Query OK, 0 rows affected (0.29 sec)
Records: 0  Duplicates: 0  Warnings: 0

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.12 sec)

上記の結果セットから、PRIMARYKEYが複数の列に追加されていることがわかります。


  1. 複数の列を持つMySQLテーブルに条件を作成するにはどうすればよいですか?

    条件については、IF()を使用してください。以下は構文です- IF(yourCondition, trueStatement,falseStatement); まずテーブルを作成しましょう- mysql> create table DemoTable612 (Number1 int,Number2 int,Score int); Query OK, 0 rows affected (0.47 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable612 values(10,20,1000); Que

  2. MySQLのさまざまなテーブルに対して主キーを外部として参照するにはどうすればよいですか?

    以下は構文です- alter table yourSecondTableName add constraint `yourConstraintName` foreign key(`yourSecondTableNamePrimaryKey`) references yourFirstTableName(yourFirstTablePrimaryKeyColumnName); 上記の構文を理解するために、最初にテーブルを作成しましょう- mysql> create table demo65 −> ( −> id int not null primary