勉強したことのメモ

webプログラマが勉強したことのメモ。

MySQLでデータがあれば上書き、無ければ挿入する

      2014/05/23

既存のソースを編集時に「REPLACE INTO~~」
という見たことの無いSQL文があったのでメモ。

■参考サイト
http://phpjavascriptroom.com/?t=mysql&p=replace

$sql = '
REPLACE INTO テーブル名
(フィールド名)
VALUES (値)
';

コードとかIDとかユニークな値を決めておいて、
それに対して書き換えもしくは挿入みたいな感じで使う。

ただ、ついでに調べると書き換えというよりも
削除して追加らしく、書いてない項目は全て初期値になるらしい。

■参考サイト
http://d.hatena.ne.jp/iww/20110318/replace

 - MySQL

  関連記事

MySQLで複数のコード及びスコアで検索して、スコアが無いものは0を取得する

やりたかった事は下記の通り。 ・ユニークなコードがあり、そのコードに対して複数の ...

mysqldumpが使えないレンタルサーバでMySQLのバックアップ

mysqldumpが使えないレンタルサーバで開発を行うことがあり、尚且つ他社に使 ...

権限が無い場合のエラー

SQLでINSERTする際、見たことに無いエラーに遭遇した。 INSERT co ...

MySQLでtext型カラムに入っている数値をint型としてソートする

MySQLでtext型として指定されているカラムがあり、その中には文字列であった ...

MySQLで同一サーバーの異なるDB内のテーブルをJOINする

同一のMySQLサーバーでdb1データベースのtable1テーブルと、db2デー ...

文字コードのutf8_general_ciとutf8_unicode_ciの違い

MySQLで設定する時に使っているサーバーによってデフォルトの文字コードがutf ...

MySQLの値について

既存プログラムの解析をしてて知ったこと。 MySQLの構造で「int(11)」と ...

MySQLでランダムに取得

SELECT カラム名 FROM テーブル名 ORDER BY RAND() L ...

phpMyAdminでテーブルの操作

table_aと同じ構造のtable_bを作りたい時、 手動で作成するか、tab ...

MySQLのtinyintのカラムにbool値を入れた場合

他所のシステムに携わることがあり中身を色々見ているとMySQLでtinyint( ...