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」が表示されているため、主キーが正常に追加されています。
-
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
-
列値のMySQLでENUMを設定します
テーブルの作成中に、ENUM値が必要な列のENUMタイプを設定します。まずテーブルを作成しましょう- mysql> create table DemoTable2019 -> ( -> StudentMarks int, -> StudentStatus ENUM('First','Second','Fail') -> ); Query OK, 0 rows affected (1.75 sec) 挿入コマンド-