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

MySQLで一意になる複合キーを形成するにはどうすればよいですか?


一意の複合キーを作成するには、ADDUNIQUEコマンドを使用する必要があります。以下は構文です-

alter table yourTableName add unique
yourUniqueName( yourColumnName1,yourColumnName2,.......N);

まず、テーブルを作成しましょう。以下はクエリです-

mysql> create table makeCompositeKeyDemo
   -> (
   -> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
   -> StudentName varchar(40),
   -> StudentAge int,
   -> StudentGrade char(1)
   -> );
Query OK, 0 rows affected (2.34 sec)

次に、DESCコマンドを使用してテーブルの説明を確認します。以下はクエリです-

mysql> desc makeCompositeKeyDemo;

これにより、次の出力が生成されます-

+--------------+-------------+------+-----+---------+----------------+
| Field        | Type        | Null | Key | Default | Extra          |
+--------------+-------------+------+-----+---------+----------------+
| Id           | int(11)     | NO   | PRI | NULL    | auto_increment |
| StudentName  | varchar(40) | YES  |     | NULL    |                |
| StudentAge   | int(11)     | YES  |     | NULL    |                |
| StudentGrade | char(1)     | YES  |     | NULL    |                |
+--------------+-------------+------+-----+---------+----------------+
4 rows in set (1.65 sec)

以下は、一意になる複合キーを形成するためのクエリです-

mysql> alter table makeCompositeKeyDemo add unique
Name_Age_Grade( StudentName,StudentAge,StudentGrade);
Query OK, 0 rows affected (0.69 sec)
Records: 0 Duplicates: 0 Warnings: 0

次に、テーブルの説明をもう一度確認します。以下はクエリです-

mysql> desc makeCompositeKeyDemo;

これにより、次の出力が生成されます-

+--------------+-------------+------+-----+---------+----------------+
| Field        | Type        | Null | Key | Default | Extra          |
+--------------+-------------+------+-----+---------+----------------+
| Id           | int(11)     | NO   | PRI | NULL    | auto_increment |
| StudentName  | varchar(40) | YES  | MUL | NULL    |                |
| StudentAge   | int(11)     | YES  |     | NULL    |                |
| StudentGrade | char(1)     | YES  |     | NULL    |                |
+--------------+-------------+------+-----+---------+----------------+
4 rows in set (0.00 sec)

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

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

  2. MySQLで主キーを削除するにはどうすればよいですか?

    主キーを削除するには、最初にALTERを使用してテーブルを変更します。それで、DROPを使用して以下のようにキーをドロップします 構文 alter table yourTableName drop primary key; まずテーブルを作成しましょう- mysql> create table DemoTable    -> (    -> StudentId int NOT NULL,    -> StudentName varchar(20),    -> StudentAge