回答編集履歴

3

追記

2020/07/10 07:45

投稿

sazi
sazi

スコア25327

test CHANGED
@@ -15,3 +15,7 @@
15
15
 
16
16
 
17
17
  欠番無しの連番を保証したいなら、排他制御を行う発番処理を自作するしかありません。
18
+
19
+
20
+
21
+ 見た目上の連番なら、[row_number()](https://dev.mysql.com/doc/refman/8.0/en/window-function-descriptions.html#function_row-number)を使用すれば可能です。

2

推敲

2020/07/10 07:45

投稿

sazi
sazi

スコア25327

test CHANGED
@@ -10,7 +10,7 @@
10
10
 
11
11
  >
12
12
 
13
- > すべてのロックモード (0、1、および 2) では、自動インクリメント値を生成したトランザクションがロールバックされると、これらの自動インクリメント値が「失われます」。「INSERT のような」ステートメントが完了したかどうか、およびそれを含むトランザクションがロールバックされたかどうかに関係なく、自動インクリメントカラムの値は一度生成されたら、ロールバックできません。このような失われた値は再使用されません。したがって、テーブルの AUTO_INCREMENT カラムに格納されている値にはギャップが存在する可能性があります。
13
+ > すべてのロックモード (0、1、および 2) では、自動インクリメント値を生成したトランザクションがロールバックされると、**これらの自動インクリメント値が「失われます」**。「INSERT のような」ステートメントが完了したかどうか、およびそれを含むトランザクションがロールバックされたかどうかに関係なく、**自動インクリメントカラムの値は一度生成されたら、ロールバックできません。**このような失われた値は再使用されません。したがって、テーブルの AUTO_INCREMENT カラムに格納されている値にはギャップが存在する可能性があります。
14
14
 
15
15
 
16
16
 

1

追記

2020/07/10 07:41

投稿

sazi
sazi

スコア25327

test CHANGED
@@ -11,3 +11,7 @@
11
11
  >
12
12
 
13
13
  > すべてのロックモード (0、1、および 2) では、自動インクリメント値を生成したトランザクションがロールバックされると、これらの自動インクリメント値が「失われます」。「INSERT のような」ステートメントが完了したかどうか、およびそれを含むトランザクションがロールバックされたかどうかに関係なく、自動インクリメントカラムの値は一度生成されたら、ロールバックできません。このような失われた値は再使用されません。したがって、テーブルの AUTO_INCREMENT カラムに格納されている値にはギャップが存在する可能性があります。
14
+
15
+
16
+
17
+ 欠番無しの連番を保証したいなら、排他制御を行う発番処理を自作するしかありません。