質問するログイン新規登録

回答編集履歴

5

商品マスタ→商品コード

2021/12/17 00:53

投稿

FKM
FKM

スコア3694

answer CHANGED
@@ -5,6 +5,6 @@
5
5
  そのため、商品マスタとは別に、買い物かごトランザクションを作成する必要があります。
6
6
 
7
7
  追記
8
- その質問の写真を見てわかったのですが、**シーケンスで商品を登録しています**(AUTO INCREMENTが表示されている)。それだと、どんな順番で入れてもそのシーケンスでしか入っていきませんので、1つ目の質問通り、どうやっても順番どおりの番号になります。なので、商品マスタと買い物かごに入れる順番のID(制御用シーケンス)は別にしておく必要があります。
8
+ その質問の写真を見てわかったのですが、**シーケンスで商品を登録しています**(AUTO INCREMENTが表示されている)。それだと、どんな順番で入れてもそのシーケンスでしか入っていきませんので、1つ目の質問通り、どうやっても順番どおりの番号になります。なので、商品コードと買い物かごに入れる順番のID(制御用シーケンス)は別にしておく必要があります。
9
9
 
10
10
  その場合はシーケンスだけを主キーとして、それとは別に商品コードを記述する必要があります(この場合は、主キー制御する必要はない)。

4

微修正

2021/12/17 00:53

投稿

FKM
FKM

スコア3694

answer CHANGED
@@ -5,6 +5,6 @@
5
5
  そのため、商品マスタとは別に、買い物かごトランザクションを作成する必要があります。
6
6
 
7
7
  追記
8
- その質問の写真を見てわかったのですが、**シーケンスで商品を登録しています**(AUTO INCREMENT)が表示されている)。それだと、どんな順番で入れてもそのシーケンスでしか入っていきませんので、1つ目の質問通り、どうやっても順番どおりの番号になります。なので、商品マスタと買い物かごに入れる順番のID(制御用シーケンス)は別物で
8
+ その質問の写真を見てわかったのですが、**シーケンスで商品を登録しています**(AUTO INCREMENTが表示されている)。それだと、どんな順番で入れてもそのシーケンスでしか入っていきませんので、1つ目の質問通り、どうやっても順番どおりの番号になります。なので、商品マスタと買い物かごに入れる順番のID(制御用シーケンス)は別にしておく必要があります。
9
9
 
10
10
  その場合はシーケンスだけを主キーとして、それとは別に商品コードを記述する必要があります(この場合は、主キー制御する必要はない)。

3

オートインクリメント

2021/12/16 08:11

投稿

FKM
FKM

スコア3694

answer CHANGED
@@ -5,6 +5,6 @@
5
5
  そのため、商品マスタとは別に、買い物かごトランザクションを作成する必要があります。
6
6
 
7
7
  追記
8
- その質問の写真を見る限り、シーケンス型で商品を登録している可能性がありそうです。それだと、どんな順番で入れてもそのシーケンス番号しか入っていきませんので、1つ目の質問通り、どうやっても順番どおりの番号になります。なので、商品マスタと買い物かごに入れる順番のID(制御用シーケンス)は別物と考えておく必要があります。
8
+ その質問の写真を見てわかったのですが**シーケンス型で商品を登録してい**(AUTO INCREMENT)が表示されている)。それだと、どんな順番で入れてもそのシーケンスしか入っていきませんので、1つ目の質問通り、どうやっても順番どおりの番号になります。なので、商品マスタと買い物かごに入れる順番のID(制御用シーケンス)は別物
9
9
 
10
10
  その場合はシーケンスだけを主キーとして、それとは別に商品コードを記述する必要があります(この場合は、主キー制御する必要はない)。

2

順番に入る理由

2021/12/16 08:10

投稿

FKM
FKM

スコア3694

answer CHANGED
@@ -1,5 +1,10 @@
1
- DBのIDに主キー設定している場合、必ずユニーク制御されますので、同じIDを投入することはできません。amountで数量を制御しているようですが、主キーがIDだけである限り、同じIDの値は複数入ることは絶対ありません(DBのユニーク制御違反)ので。
1
+ DBのIDに主キー設定している(主キー設定しないと、編集アイコンが出ませんので、質問の写真でわかります)場合、必ずユニーク制御されますので、同じIDを投入することはできません。amountで数量を制御しているようですが、主キーがIDだけである限り、同じIDの値は複数入ることは絶対ありません(DBのユニーク制御違反)ので。
2
2
 
3
3
  同じIDの商品を複数投げ込みたい場合は、シーケンスかタイムスタンプなどを用いて複合主キーを用いる必要があります。
4
4
 
5
- そのため、商品マスタとは別に、買い物かごトランザクションを作成する必要があります。
5
+ そのため、商品マスタとは別に、買い物かごトランザクションを作成する必要があります。
6
+
7
+ 追記
8
+ その質問の写真を見る限り、シーケンス型で商品を登録している可能性がありそうです。それだと、どんな順番で入れてもそのシーケンス番号しか入っていきませんので、1つ目の質問通り、どうやっても順番どおりの番号になります。なので、商品マスタと買い物かごに入れる順番のID(制御用シーケンス)は別物と考えておく必要があります。
9
+
10
+ その場合はシーケンスだけを主キーとして、それとは別に商品コードを記述する必要があります(この場合は、主キー制御する必要はない)。

1

複合主キーに修正

2021/12/16 08:08

投稿

FKM
FKM

スコア3694

answer CHANGED
@@ -1,5 +1,5 @@
1
1
  DBのIDに主キー設定している場合、必ずユニーク制御されますので、同じIDを投入することはできません。amountで数量を制御しているようですが、主キーがIDだけである限り、同じIDの値は複数入ることは絶対ありません(DBのユニーク制御違反)ので。
2
2
 
3
- 同じIDの商品を複数投げ込みたい場合は、シーケンスかタイムスタンプなどを用いて複合キーを用いる必要があります。
3
+ 同じIDの商品を複数投げ込みたい場合は、シーケンスかタイムスタンプなどを用いて複合キーを用いる必要があります。
4
4
 
5
5
  そのため、商品マスタとは別に、買い物かごトランザクションを作成する必要があります。