質問編集履歴

2

修正

2018/04/17 16:08

投稿

coinbura
coinbura

スコア106

test CHANGED
File without changes
test CHANGED
@@ -42,7 +42,7 @@
42
42
 
43
43
  ```ここに言語を入力
44
44
 
45
- $sql = "INSERT INTO datatable(id,hoge,piyo) VALUES(?,?,?) ON DUPLICATE KEY UPDATE cunt_Pv = cunt_Pv + 1'"
45
+ $sql = "INSERT INTO datatable(id,hoge,piyo) VALUES(?,?,?) ON DUPLICATE KEY UPDATE cunt_Pv = cunt_Pv + 1"
46
46
 
47
47
 
48
48
 

1

質問をもう少し具体的に

2018/04/17 16:08

投稿

coinbura
coinbura

スコア106

test CHANGED
File without changes
test CHANGED
@@ -1,6 +1,14 @@
1
1
  id、hoge、piyoの3つのカラムをもったdatatableというテーブルがあります。
2
2
 
3
3
  ここに、配列に入った値を100個ほど登録したいと思っています。
4
+
5
+
6
+
7
+ プライマリーキーはidとなっています。
8
+
9
+
10
+
11
+ idが重複した場合のみ、他のカラムを上書きし、そうでない時はすべてを新規書込みするようにしたいと思っています。
4
12
 
5
13
 
6
14
 
@@ -22,7 +30,35 @@
22
30
 
23
31
 
24
32
 
33
+ 一応以下URLを参考に次のように書いてみたのですが、うまくいきませんでした。
34
+
35
+ 正直、何が間違っているのか見当がつきません…
36
+
37
+
38
+
39
+ http://www.promeshi.com/archives/2609#insertupdate
40
+
41
+
42
+
43
+ ```ここに言語を入力
44
+
45
+ $sql = "INSERT INTO datatable(id,hoge,piyo) VALUES(?,?,?) ON DUPLICATE KEY UPDATE cunt_Pv = cunt_Pv + 1'"
46
+
47
+
48
+
49
+ for($i=0; $i<100; $i++){
50
+
51
+ $stmt=$pdo->prepare($sql);
52
+
53
+ $stmt->execute(array($data[$i]["id"],$data[$i]["hoge"],$data[$i]["piyo"]);
54
+
55
+ }
56
+
57
+ ```
58
+
59
+
60
+
25
- これを行なうにはどのような方法があるものでしょうか?
61
+ これを行なうにはどのような方法があるものなのでしょうか?
26
62
 
27
63
 
28
64