質問編集履歴
3
加筆
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
###実現したいこと
|
2
|
-
レコードのINSERT時に、「
|
2
|
+
レコードのINSERT時に、「グループごとのカラムの最大値+1」を自動で入れたいのですが、そんな都合のいい方法ございますか?
|
3
3
|
|
4
4
|
###テーブル構成
|
5
5
|
以下はコメントのテーブルで、`order_number`でコメントの並び順が指定されています。
|
2
誤字訂正
title
CHANGED
File without changes
|
body
CHANGED
@@ -63,9 +63,9 @@
|
|
63
63
|
|
64
64
|
例えば現状で`thread_ID = 12`には2件のレコードがあったとして、`order_number`は最大`2`ということですが、そこに上記実行しますと`order_number`に`227`が入るといった感じです。
|
65
65
|
|
66
|
-
この`
|
66
|
+
この`227`が何の数字なのかわかりません。`p_comments`テーブルのレコードは2121件ですし、思い当たるフシがないです。
|
67
67
|
|
68
|
-
さらにその上でもう一度実行すると
|
68
|
+
さらにその上でもう一度実行すると`228`が入りこれは`227`の次なので正常ですが、そもそも`227`でなく`3`を入れたかったので困っています。
|
69
69
|
|
70
70
|
###バージョン
|
71
71
|
MySQLは5.7ですが、もし上位のバージョンでのみ可能であればアップデートも視野に入れています。
|
1
発生している問題を追記しました
title
CHANGED
File without changes
|
body
CHANGED
@@ -50,11 +50,23 @@
|
|
50
50
|
[https://b.0218.jp/20121112133354.html](https://b.0218.jp/20121112133354.html)
|
51
51
|
|
52
52
|
この方法に従って次のSQLを実行したのですが、実現には至りませんでした。
|
53
|
+
|
53
54
|
```SQL
|
54
55
|
INSERT INTO p_comments( `order_number`, `ID`, `thread_ID` )
|
55
56
|
SELECT COALESCE(MAX(`order_number`)+1,1), ?, ?
|
56
57
|
FROM p_comments;
|
57
58
|
```
|
59
|
+
###発生している問題
|
60
|
+
上記「実現には至りませんでした」について詳細補足します。
|
61
|
+
|
62
|
+
エラーはないのですが、`order_number`が想定より大きな数字になってしまいます。
|
63
|
+
|
64
|
+
例えば現状で`thread_ID = 12`には2件のレコードがあったとして、`order_number`は最大`2`ということですが、そこに上記実行しますと`order_number`に`227`が入るといった感じです。
|
65
|
+
|
66
|
+
この`228`が何の数字なのかわかりません。`p_comments`テーブルのレコードは2121件ですし、思い当たるフシがないです。
|
67
|
+
|
68
|
+
さらにその上でもう一度実行すると、`278`が入りまして、これは`277`の次なので正常ですが、そもそも`227`でなく`3`を入れたかったので困っています。
|
69
|
+
|
58
70
|
###バージョン
|
59
71
|
MySQLは5.7ですが、もし上位のバージョンでのみ可能であればアップデートも視野に入れています。
|
60
72
|
宜しくお願い致します。
|