MySQL-1、2、3、4、5から1、3、5に削除された行を含む自動インクリメントフィールドを修正するにはどうすればよいですか?今、私たちはそれを1,2,3にしたい
まずテーブルを作成しましょう-
mysql> create table DemoTable1955 ( UserId int NOT NULL AUTO_INCREMENT , PRIMARY KEY(UserId) ); Query OK, 0 rows affected (0.00 sec)
挿入コマンド-
を使用して、テーブルにいくつかのレコードを挿入しますmysql> insert into DemoTable1955 values(); Query OK, 1 row affected (0.00 sec) mysql> insert into DemoTable1955 values(); Query OK, 1 row affected (0.00 sec) mysql> insert into DemoTable1955 values(); Query OK, 1 row affected (0.00 sec) mysql> insert into DemoTable1955 values(); Query OK, 1 row affected (0.00 sec) mysql> insert into DemoTable1955 values(); Query OK, 1 row affected (0.00 sec)
selectステートメントを使用してテーブルのすべてのレコードを表示する-
mysql> select * from DemoTable1955;
これにより、次の出力が生成されます-
+--------+ | UserId | +--------+ | 1 | | 2 | | 3 | | 4 | | 5 | +--------+ 5 rows in set (0.00 sec)
これがテーブルから行を削除するためのクエリです-
mysql> delete from DemoTable1955 where UserId IN(2,4); Query OK, 2 rows affected (0.00 sec)
次に、テーブルレコードを確認します-
mysql> select * from DemoTable1955;
これにより、次の出力が生成されます-
+--------+ | UserId | +--------+ | 1 | | 3 | | 5 | +--------+ 3 rows in set (0.00 sec)
これは、行を削除した自動インクリメントフィールド(1,2,3,4,5から1,3,5)を修正するためのクエリです。以下のクエリは、1から始まる列を1,2,3-
のようにします。mysql> update DemoTable1955 set UserId = (@increment_value := @increment_value+ 1) order by UserId; Query OK, 2 rows affected (0.00 sec) Rows matched: 3 Changed: 2 Warnings: 0
テーブルレコードをもう一度確認しましょう-
mysql> select * from DemoTable1955;
これにより、次の出力が生成されます-
+--------+ | UserId | +--------+ | 1 | | 2 | | 3 | +--------+ 3 rows in set (0.00 sec)
-
MySQLから最後の10行を選択するにはどうすればよいですか?
MySQLから最後の10行を選択するには、SELECTステートメントとLimitの概念でサブクエリを使用できます。以下は例です。 テーブルを作成します。 mysql> create table Last10RecordsDemo -> ( -> id int, -> name varchar(100) -> ); Query OK, 0 rows affected (0.75 sec) テーブルにレコードを挿入します。 mysql> insert into Last10RecordsDemo values(1,John),(
-
MySQLを使用して、さまざまな行から単一のフィールドにリストを返します
これには、GROUP_CONCAT()を使用します。まずテーブルを作成しましょう- mysql> create table DemoTable2024 -> ( -> SubjectName varchar(20), -> StudentName varchar(20) -> ); Query OK, 0 rows affected (0.62 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert in