質問編集履歴
1
追記いたしました
test
CHANGED
File without changes
|
test
CHANGED
@@ -145,3 +145,29 @@
|
|
145
145
|
MySQL はやや古めで 5.7 です。
|
146
146
|
よろしくお願い致します。
|
147
147
|
|
148
|
+
### 追記
|
149
|
+
「IDを取得」と「一括」について意味がわかりにくいと指摘を受けましたのでご説明させていただきます。
|
150
|
+
|
151
|
+
「IDを取得」については `bulkInsertAndIfDuplicateGetIds1()` が成功しています。リンク34行目で `$result1` に `["1","5","3"]` が得れることで「IDを取得」が出来ているという意味です。(既存であった 1,3 を得て、さらに新規に 5 も得れています。)
|
152
|
+
|
153
|
+
あとはこれを「一括」でやりたいという意図で、 `bulkInsertAndIfDuplicateGetIds2()`, `bulkInsertAndIfDuplicateGetIds3()` を試しました。
|
154
|
+
|
155
|
+
そして「一括」かどうかは下記の違いを意図しておりました。
|
156
|
+
```SQL
|
157
|
+
-- 「一括」である
|
158
|
+
INSERT INTO test_datas(xxx)
|
159
|
+
VALUES ('aaa'), ('bbb');
|
160
|
+
|
161
|
+
-- 「一括」ではない
|
162
|
+
INSERT INTO test_datas(xxx)
|
163
|
+
VALUES ('aaa');
|
164
|
+
INSERT INTO test_datas(xxx)
|
165
|
+
VALUES ('bbb');
|
166
|
+
```
|
167
|
+
|
168
|
+
なので `bulkInsertAndIfDuplicateGetIds1()` は「一括」ではありませんが、「IDを取得」はできています。
|
169
|
+
逆に `bulkInsertAndIfDuplicateGetIds2()`, `bulkInsertAndIfDuplicateGetIds3()` は「一括」ですが、しかし「IDを取得」はできておらず、 `["4","4","4"]` になってしまいます。
|
170
|
+
|
171
|
+
以上のように「IDを取得」と「一括」をイメージしており、この両立を目指しているという次第です。
|
172
|
+
|
173
|
+
|