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

MySQLに複合主キーを追加するALTERTABLE?


複合主キーを追加するには、ALTERコマンドを使用します。まず、デモテーブルを作成しましょう

テーブルを作成するためのクエリ。

mysql> create table CompositePrimaryKey
   -> (
   -> Id int,
   -> StudentName varchar(100),
   -> Age int
   -> );
Query OK, 0 rows affected (0.56 sec)

これまで、上記の複合主キーを追加していません。ここで、descコマンドを使用して確認しましょう。

mysql> desc CompositePrimaryKey;

以下は出力です。

+-------------+--------------+------+-----+---------+-------+
| Field       | Type         | Null | Key | Default | Extra |
+-------------+--------------+------+-----+---------+-------+
| Id          | int(11)      | YES  |     | NULL    |       |
| StudentName | varchar(100) | YES  |     | NULL    |       |
| Age         | int(11)      | YES  |     | NULL    |       |
+-------------+--------------+------+-----+---------+-------+
3 rows in set (0.09 sec)

上記のサンプル出力を見てください。主要なキーワードはありません。これ自体は、複合主キーが使用できないことを示しています。

次に、ALTERコマンドを使用して複合主キーを追加しましょう。クエリは次のとおりです。

mysql>  ALTER table CompositePrimaryKey add primary key(Id,StudentName);
Query OK, 0 rows affected (1.26 sec)
Records: 0  Duplicates: 0  Warnings: 0

上記では、列名が「Id」と「StudentName」の複合主キーを追加しました。同じことを確認するには、DESCコマンドを使用できます。クエリは次のとおりです。

mysql> DESC CompositePrimaryKey;

これが出力です。

+-------------+--------------+------+-----+---------+-------+
| Field       | Type         | Null | Key | Default | Extra |
+-------------+--------------+------+-----+---------+-------+
| Id          | int(11)      | NO   | PRI | NULL    |       |
| StudentName | varchar(100) | NO   | PRI | NULL    |       |
| Age         | int(11)      | YES  |     | NULL    |       |
+-------------+--------------+------+-----+---------+-------+
3 rows in set (0.00 sec)

上記の出力からわかるように、「PR」は、列IdとStudentNameに複合主キーが正常に追加されたことを意味します。


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

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

  2. Accessのテーブルで主キーを追加または削除する方法

    Microsoft Accessを作成する場合 テーブルの場合、Accessはデータベーステーブルの主キーを自動的に作成しますが、データベーステーブルの主キーとして必要なフィールドを指定することもできます。 主キー Microsoft Accessでは、テーブル全体で一意の値を持つフィールドまたはフィールドのセットです。主キーには、データベース内の各行を一意に識別する、常に値が含まれる、空になることはない、値に変更が含まれないなど、いくつかの特性があります。 Accessのテーブルで主キーを追加または削除する方法 Accessデータベーステーブルに主キーを追加および削除するには、以下の方法