既存の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が複数の列に追加されていることがわかります。
-
複数の列を持つ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
-
MySQLのさまざまなテーブルに対して主キーを外部として参照するにはどうすればよいですか?
以下は構文です- alter table yourSecondTableName add constraint `yourConstraintName` foreign key(`yourSecondTableNamePrimaryKey`) references yourFirstTableName(yourFirstTablePrimaryKeyColumnName); 上記の構文を理解するために、最初にテーブルを作成しましょう- mysql> create table demo65 −> ( −> id int not null primary