回答編集履歴

3

追記

2021/07/02 04:31

投稿

tanat
tanat

スコア18713

test CHANGED
@@ -94,7 +94,7 @@
94
94
 
95
95
 
96
96
 
97
- - ブル構造更新する方法
97
+ - 同じcompany_IDで複数レコ持ちたい場合
98
98
 
99
99
  1. company_IDをIDにカラム名変更
100
100
 
@@ -102,7 +102,7 @@
102
102
 
103
103
 
104
104
 
105
- という感じで、company_IDからPKを外し、company_IDに代わるPKになるカラムを追加するように対応する
105
+ という感じで、company_IDからPKを外し、company_IDに代わるPKになるカラムを追加するようにテーブル構造を更新して対応する
106
106
 
107
107
 
108
108
 

2

追記

2021/07/02 04:31

投稿

tanat
tanat

スコア18713

test CHANGED
@@ -94,9 +94,7 @@
94
94
 
95
95
 
96
96
 
97
- テーブル構造を更新する必要があります。
97
+ - テーブル構造を更新する方法
98
-
99
- 具体的には
100
98
 
101
99
  1. company_IDをIDにカラム名変更
102
100
 
@@ -104,4 +102,12 @@
104
102
 
105
103
 
106
104
 
107
- という感じで、company_IDからPKを外し、company_IDに代わるPKになるカラムを追加するように対応しま
105
+ という感じで、company_IDからPKを外し、company_IDに代わるPKになるカラムを追加するように対応す
106
+
107
+
108
+
109
+ - 現在のテーブル構造が正しい場合
110
+
111
+ 同じPKを持つデータがある場合はINSERTでは無くUPDATEするようにする。
112
+
113
+ [公式リファレンス 13.2.5.3 INSERT ... ON DUPLICATE KEY UPDATE 構文](https://dev.mysql.com/doc/refman/5.6/ja/insert-on-duplicate.html)

1

追記

2021/07/02 04:30

投稿

tanat
tanat

スコア18713

test CHANGED
@@ -7,6 +7,8 @@
7
7
  phpMyAdminの表記だと分かりにくいですが、
8
8
 
9
9
  恐らく`company_ID`がPKに設定されているため、同じcompany_IDを持つレコードを登録できない状態なっていると思います。
10
+
11
+ (phpMyAdminの表記はphpMyAdminを使っている人にしか分からないので、テーブル構造を表記する時は`show create table テーブル名`で出力したものを提示して下さい)
10
12
 
11
13
 
12
14