teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

2

修正

2018/04/17 16:08

投稿

coinbura
coinbura

スコア106

title CHANGED
File without changes
body CHANGED
@@ -20,7 +20,7 @@
20
20
  http://www.promeshi.com/archives/2609#insertupdate
21
21
 
22
22
  ```ここに言語を入力
23
- $sql = "INSERT INTO datatable(id,hoge,piyo) VALUES(?,?,?) ON DUPLICATE KEY UPDATE cunt_Pv = cunt_Pv + 1'"
23
+ $sql = "INSERT INTO datatable(id,hoge,piyo) VALUES(?,?,?) ON DUPLICATE KEY UPDATE cunt_Pv = cunt_Pv + 1"
24
24
 
25
25
  for($i=0; $i<100; $i++){
26
26
  $stmt=$pdo->prepare($sql);

1

質問をもう少し具体的に

2018/04/17 16:08

投稿

coinbura
coinbura

スコア106

title CHANGED
File without changes
body CHANGED
@@ -1,6 +1,10 @@
1
1
  id、hoge、piyoの3つのカラムをもったdatatableというテーブルがあります。
2
2
  ここに、配列に入った値を100個ほど登録したいと思っています。
3
3
 
4
+ プライマリーキーはidとなっています。
5
+
6
+ idが重複した場合のみ、他のカラムを上書きし、そうでない時はすべてを新規書込みするようにしたいと思っています。
7
+
4
8
  ```ここに言語を入力
5
9
  $sql = "INSERT INTO datatable(id,hoge,piyo) VALUES(?,?,?)"
6
10
 
@@ -10,7 +14,21 @@
10
14
  }
11
15
  ```
12
16
 
13
- これ行なうはどのような方法があるものでしょか?
17
+ 一応以下URL参考のように書いてみたのですが、まくいきませんでした。
18
+ 正直、何が間違っているのか見当がつきません…
14
19
 
20
+ http://www.promeshi.com/archives/2609#insertupdate
21
+
22
+ ```ここに言語を入力
23
+ $sql = "INSERT INTO datatable(id,hoge,piyo) VALUES(?,?,?) ON DUPLICATE KEY UPDATE cunt_Pv = cunt_Pv + 1'"
24
+
25
+ for($i=0; $i<100; $i++){
26
+ $stmt=$pdo->prepare($sql);
27
+ $stmt->execute(array($data[$i]["id"],$data[$i]["hoge"],$data[$i]["piyo"]);
28
+ }
29
+ ```
30
+
31
+ これを行なうにはどのような方法があるものなのでしょうか?
32
+
15
33
  ご教授いただければ幸いです。
16
34
  よろしくお願いいたします。