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

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'

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

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

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

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