回答編集履歴

1

調整

2018/08/31 12:22

投稿

yambejp
yambejp

スコア114839

test CHANGED
@@ -15,3 +15,57 @@
15
15
  forで1文ずつSQLを実行するのは非効率的名のでまとめて処理するのを
16
16
 
17
17
  おすすめします。(何万件も処理する場合は調整が必要)
18
+
19
+
20
+
21
+ # sample
22
+
23
+
24
+
25
+ - テーブル作成とinsert
26
+
27
+
28
+
29
+ ```SQL
30
+
31
+ create table `schedule` (
32
+
33
+ `id` varchar(20) NOT NULL,
34
+
35
+ `datetime` datetime NOT NULL,
36
+
37
+ `schedule` tinyint(1) NOT NULL,
38
+
39
+ unique key(`id`,`datetime`)
40
+
41
+ );
42
+
43
+
44
+
45
+ insert into `schedule` values('honda', '2018-09-08 10:00:00', 1);
46
+
47
+ ```
48
+
49
+ - テーブル作成とinsert
50
+
51
+
52
+
53
+ ```SQL
54
+
55
+ insert into `schedule` values
56
+
57
+ ('kagawa', '2018-09-08 10:00:00', 2),
58
+
59
+ ('honda', '2018-09-09 10:00:00', 3),
60
+
61
+ ('honda', '2018-09-08 10:00:00', 4)
62
+
63
+ on duplicate key update schedule=values(schedule)
64
+
65
+ ```
66
+
67
+ - 2のデータはidが違うので挿入
68
+
69
+ - 3のデータはdatetimeが違うので挿入
70
+
71
+ - 4のデータはidもdatetimeもかぶるので指定した4で更新