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

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> insert into DemoTable1929 values();
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1929 values();
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1929 values();
Query OK, 1 row affected (0.00 sec)

selectステートメントを使用してテーブルのすべてのレコードを表示する-

mysql> select * from DemoTable1929;

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

+--------+
| UserId |
+--------+
|      1 |
|      2 |
|      3 |
+--------+
3 rows in set (0.00 sec)

主キーをリセットするためのクエリは次のとおりです-

mysql> truncate table DemoTable1929;
Query OK, 0 rows affected (0.00 sec)
mysql> alter table DemoTable1929 auto_increment=1;
Query OK, 0 rows affected (0.00 sec)
Records: 0  Duplicates: 0  Warnings: 0
>

これでレコードを挿入できるようになり、主キーの値が1からリセットされます-

mysql> insert into DemoTable1929 values();
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1929 values();
Query OK, 1 row affected (0.00 sec)

selectステートメントを使用してテーブルのすべてのレコードを表示する-

mysql> select * from DemoTable1929;

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

+--------+
| UserId |
+--------+
|      1 |
|      2 |
+--------+
2 rows in set (0.00 sec)

  1. 列がMySQLの主キーであるかどうかをどのように取得しますか?

    列が主キーであるかどうかを取得するには、COLUMN_NAMEおよびCOLUMN_KEY=PRIを使用します。これで、全体の構文は次のようになります- select column_name, case when column_key= 'PRI' then 'yourMessage1' else ''yourMessage2' end as anyAliasName from information_schema.columns where table_schema =database() and `table_name` = yourT

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

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