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

MySQLの主キーをauto_incrementに変更するにはどうすればよいですか?


主キーをauto_incrementに変更するには、MODIFYコマンドを使用できます。まずテーブルを作成しましょう。

mysql> create table changePrimaryKeyInAutoIncrement
   -> (
   -> StudentId int not null primary key,
   -> StudentName varchar(100),
   -> StudentAge int,
   -> StudentAddress varchar(100)
   -> );
Query OK, 0 rows affected (0.63 sec)

ここで、descコマンドを使用してテーブルの説明を確認しましょう:

mysql> desc changePrimaryKeyInAutoIncrement;

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

+----------------+--------------+------+-----+---------+-------+
| Field          | Type         | Null | Key | Default | Extra |
+----------------+--------------+------+-----+---------+-------+
| StudentId      | int(11)      | NO   | PRI | NULL    |       |
| StudentName    | varchar(100) | YES  |     | NULL    |       |
| StudentAge     | int(11)      | YES  |     | NULL    |       |
| StudentAddress | varchar(100) | YES  |     | NULL    |       |
+----------------+--------------+------+-----+---------+-------+
4 rows in set (0.00 sec)

上記のサンプル出力を見てください。StudentId列が主キーです。次に、主キーをauto_incrementに変更しましょう:

mysql> alter table changePrimaryKeyInAutoIncrement MODIFY StudentId INT AUTO_INCREMENT;
Query OK, 0 rows affected (1.48 sec)
Records: 0 Duplicates: 0 Warnings: 0

の表の説明をもう一度確認しましょう:

mysql> desc changePrimaryKeyInAutoIncrement;

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

+----------------+--------------+------+-----+---------+----------------+
| Field          | Type         | Null | Key | Default | Extra          |
+----------------+--------------+------+-----+---------+----------------+
| StudentId      | int(11)      | NO   | PRI | NULL    | auto_increment |
| StudentName    | varchar(100) | YES  |     | NULL    |                |
| StudentAge     | int(11)      | YES  |     | NULL    |                |
| StudentAddress | varchar(100) | YES  |     | NULL    |                |
+----------------+--------------+------+-----+---------+----------------+
4 rows in set (0.00 sec)

上記のサンプル出力を見てください。StudentId列がauto_incrementに変更されています。


  1. MySQLで主キーをリセットする

    主キーをリセットするには、最初にTRUNCATEテーブルを使用し、次にALTERTABLEを使用します。まずテーブルを作成しましょう- mysql> create table DemoTable1929    (    UserId int NOT NULL AUTO_INCREMENT,    PRIMARY KEY(UserId)    ); Query OK, 0 rows affected (0.00 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql>

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

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