回答編集履歴
1
調整
answer
CHANGED
@@ -6,4 +6,31 @@
|
|
6
6
|
そしてprepare処理がまったくおかしいです
|
7
7
|
|
8
8
|
forで1文ずつSQLを実行するのは非効率的名のでまとめて処理するのを
|
9
|
-
おすすめします。(何万件も処理する場合は調整が必要)
|
9
|
+
おすすめします。(何万件も処理する場合は調整が必要)
|
10
|
+
|
11
|
+
# sample
|
12
|
+
|
13
|
+
- テーブル作成とinsert
|
14
|
+
|
15
|
+
```SQL
|
16
|
+
create table `schedule` (
|
17
|
+
`id` varchar(20) NOT NULL,
|
18
|
+
`datetime` datetime NOT NULL,
|
19
|
+
`schedule` tinyint(1) NOT NULL,
|
20
|
+
unique key(`id`,`datetime`)
|
21
|
+
);
|
22
|
+
|
23
|
+
insert into `schedule` values('honda', '2018-09-08 10:00:00', 1);
|
24
|
+
```
|
25
|
+
- テーブル作成とinsert
|
26
|
+
|
27
|
+
```SQL
|
28
|
+
insert into `schedule` values
|
29
|
+
('kagawa', '2018-09-08 10:00:00', 2),
|
30
|
+
('honda', '2018-09-09 10:00:00', 3),
|
31
|
+
('honda', '2018-09-08 10:00:00', 4)
|
32
|
+
on duplicate key update schedule=values(schedule)
|
33
|
+
```
|
34
|
+
- 2のデータはidが違うので挿入
|
35
|
+
- 3のデータはdatetimeが違うので挿入
|
36
|
+
- 4のデータはidもdatetimeもかぶるので指定した4で更新
|