【メモ】 Uniqueなキーが存在するTableへのInsert。
Uniqueなキーが存在するテーブルに値を挿入するとき、一旦SELECTして存在を確かめてから挿入する(存在していればUPDATE)か、無理矢理INSERTしてエラーメッセージで重複しているかどうか判断した上でUPDATEするか…なんてことを今までやっていました。 さすがになんか書き方があるんだろうとか思って、とりあえず思いついたのは「IF」とか「EXISTS」とかでググってたんだけども、もっと全然シンプルな話だったんですね。。
あああ。穴があったら入りたい。重複キーがあれば無視する。INSERT IGNORE INTO table (f1,f2) VALUES (‘d1′,’d2’);重複キーがあればアップデート。INSERT INTO table (f1,f2) VALUES (‘d1′,’d2′) ON DUPLICATE KEY UPDATE f2=’d2’;
INSERT IGNORE と ON DUPLICATE KEY UPDATE | kuwattel,
PHP5にしたんで、MySQLとの通信をPDOでやるかと思って変えてみたら、
ドライバが見つかりませんだそうで。
php_info()で見ると、sqliteドライバはあるけど、mysqlはない様子。
そんなバカな。
あれ?
peclでインストール > php.ini も画策したけど、
当たり前だけどroot権限じゃないと無理。
ローカル領域にインストールすればできるかなー…
まぁとりあえず、PDO自体を保留で。
ローカル(Windows+Apache2)では問題なく動くのに、
なぜかサーバに上げると動かないって言うことがあったので一応、メモ。
なんか自分のどこが悪かったかよくわからんので(設定かなぁ)、
次起きたらまたこう対処する的なことで。