id、hoge、piyoの3つのカラムをもったdatatableというテーブルがあります。
ここに、配列に入った値を100個ほど登録したいと思っています。
プライマリーキーはidとなっています。
idが重複した場合のみ、他のカラムを上書きし、そうでない時はすべてを新規書込みするようにしたいと思っています。
$sql = "INSERT INTO datatable(id,hoge,piyo) VALUES(?,?,?)" for($i=0; $i<100; $i++){ $stmt=$pdo->prepare($sql); $stmt->execute(array($data[$i]["id"],$data[$i]["hoge"],$data[$i]["piyo"]); }
一応以下URLを参考に次のように書いてみたのですが、うまくいきませんでした。
正直、何が間違っているのか見当がつきません…
http://www.promeshi.com/archives/2609#insertupdate
$sql = "INSERT INTO datatable(id,hoge,piyo) VALUES(?,?,?) ON DUPLICATE KEY UPDATE cunt_Pv = cunt_Pv + 1" for($i=0; $i<100; $i++){ $stmt=$pdo->prepare($sql); $stmt->execute(array($data[$i]["id"],$data[$i]["hoge"],$data[$i]["piyo"]); }
これを行なうにはどのような方法があるものなのでしょうか?
ご教授いただければ幸いです。
よろしくお願いいたします。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/04/17 16:07
退会済みユーザー
2018/04/18 00:26
退会済みユーザー
2018/04/18 00:30
2018/04/18 15:36
2018/04/19 06:51