人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

MysqlのSQLの書き方で、「条件にあうレコードがあったら、何もしない。なかったら挿入する」ということを、1つのSQL文で行うことはできないでしょうか?

以前似た質問で、「あったら更新、なかったら挿入」を聞いたのですが、今回は、「あったら何もしない」でお願いします。

もしかして、「あったら更新」の部分で同じ値を渡すことで、「同じ値で更新=何も変化しない」にすればいいのでしょうか?
できれば負荷をかけたくないので、何もしない方がいいです。

●質問者: dingding
●カテゴリ:インターネット ウェブ制作
✍キーワード:MySQL SQL レコード 更新
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● b-wind
●60ポイント

「条件にあうレコード」の部分が柔軟には対応できないのですが、

Primary Key, UNIQUE 制約に違反するコードは挿入しないオプションはあります。


INSERT IGNORE 構文

http://dev.mysql.com/doc/refman/4.1/ja/insert.html

多くのレコードの INSERT でキーワード IGNORE が指定されていると、テーブルの既存の PRIMARY または UNIQUE キーと重複するレコードはすべて無視され、挿入されない。
◎質問者からの返答

ありがとうございます。

条件は複雑でないので、使えるかも知れないです。

見てみます。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ