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

MySQLで既存の列を主キーとして設定しますか?


alterコマンドを使用して、MySQLの既存の列に主キーを設定できます。

既存の列に主キーを追加するための構文は次のとおりです。

ALTER TABLE yourTableName ADD PRIMARY KEY(yourColumnName);

既存の列を主キーとして設定するには、最初にテーブルを作成しましょう。テーブルを作成するためのクエリ-

mysql> create table AddingPrimaryKeyDemo
   −> (
      −> UniversityId int,
      −> UniversityName varchar(200)
   −> );
Query OK, 0 rows affected (1.16 sec)

上記のクエリを見てください。主キーを追加していません。 DESCコマンドを使用して同じことを確認しましょう。クエリは次のとおりです-

mysql> desc AddingPrimaryKeyDemo;

以下は出力です-

+----------------+--------------+------+-----+---------+-------+
| Field          | Type         | Null | Key | Default | Extra |
+----------------+--------------+------+-----+---------+-------+
| UniversityId   | int(11)      | YES |      | NULL    |       |
| UniversityName | varchar(200) | YES |      | NULL    |       |
+----------------+--------------+------+-----+---------+-------+
2 rows in set (0.09 sec)

これで、最初に説明した構文を使用して、既存の列を主キーとして設定できます。主キーを追加するためのクエリは次のとおりです-

mysql> alter table AddingPrimaryKeyDemo add primary key(UniversityId);
Query OK, 0 rows affected (1.48 sec)
Records: 0 Duplicates: 0 Warnings: 0

これで、既存の列「UniversityId」にプライマリを追加しました。次のコマンドは、列「UniversityId」に主キーが存在するかどうかを確認する結果を提供します。

mysql> desc AddingPrimaryKeyDemo;

以下は出力です-

+----------------+--------------+------+-----+---------+-------+
| Field          | Type         | Null | Key | Default | Extra |
+----------------+--------------+------+-----+---------+-------+
| UniversityId   | int(11)      | NO   | PRI | NULL    |       |
| UniversityName | varchar(200) | YES  |     | NULL    |       |
+----------------+--------------+------+-----+---------+-------+
2 rows in set (0.04 sec)

上記の「PRI」が表示されているため、主キーが正常に追加されています。


  1. MySQLの既存の列にNOTNULL属性を設定します

    NOT NULL属性を既存の列に設定するには、ALTERTABLEコマンドを使用します。まずテーブルを作成しましょう- mysql> create table DemoTable1949    (    UserId int,    UserName varchar(20)    ); Query OK, 0 rows affected (0.00 sec) これは、既存の列にNOTNULL属性を設定するためのクエリです- mysql> alter table DemoTable1949 modify

  2. 列値のMySQLでENUMを設定します

    テーブルの作成中に、ENUM値が必要な列のENUMタイプを設定します。まずテーブルを作成しましょう- mysql> create table DemoTable2019    -> (    -> StudentMarks int,    -> StudentStatus ENUM('First','Second','Fail')    -> ); Query OK, 0 rows affected (1.75 sec) 挿入コマンド-