MySQLテーブルの複数の列にPRIMARYKEYを設定するにはどうすればよいですか?
実際、MySQLでは複数の列にPRIMARYKEYを設定できます。これを行う利点は、複数の列を1つのエンティティとして処理できることです。
例
次のように複数の列に複合PRIMARYKEYを定義することにより、テーブル割り当てを作成しました-
mysql> Create table allotment( RollNo Int, Name Varchar(20), RoomNo Int, PRIMARY KEY(RollNo, RoomNo)); Query OK, 0 rows affected (0.23 sec) mysql> Describe allotment; +--------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +--------+-------------+------+-----+---------+-------+ | RollNo | int(11) | NO | PRI | 0 | | | Name | varchar(20) | YES | | NULL | | | RoomNo | int(11) | NO | PRI | 0 | | +--------+-------------+------+-----+---------+-------+ 3 rows in set (0.10 sec)
ここで、重複する複合値を両方の列に挿入しようとすると、MySQLは次のようなエラーをスローします-
mysql> Insert Into allotment values(1, 'Aarav', 201),(2,'Harshit',201),(1,'Rahul ',201); ERROR 1062 (23000): Duplicate entry '1-201' for key 'PRIMARY'
-
MySQLデータベーステーブルで複合主キーを識別する方法は?
集計関数count(*)を使用できます。 1より大きい値を返す場合は、テーブルに複合主キーがあることを意味します。 まずテーブルを作成しましょう- mysql> create table DemoTable1324 -> ( -> StudentId int, -> StudentName varchar(20), -> StudentAge int, -> StudentCountryName varchar(20) &nbs
-
MySQLのさまざまなテーブルに対して主キーを外部として参照するにはどうすればよいですか?
以下は構文です- alter table yourSecondTableName add constraint `yourConstraintName` foreign key(`yourSecondTableNamePrimaryKey`) references yourFirstTableName(yourFirstTablePrimaryKeyColumnName); 上記の構文を理解するために、最初にテーブルを作成しましょう- mysql> create table demo65 −> ( −> id int not null primary