みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

mysqlで検索結果にupdateをしたい

mysqlで検索した結果に対して
同一テーブルの他のカラムに共通の文字列を書き込みたいです。

たとえば、
SQLで検索した結果に対して、対象レコードの「price」の項目に
「300」の文字列を登録するイメージです。

例:
元のレコード
name   price
りんご
みかん
なし


「ん」で対象レコードを検索した結果イメージ:
name   price
りんご
みかん

このとき、「ん」に該当する「price」のカラムに
「300」と値段を登録したいです。

理想の処理結果のイメージ:
name    price
りんご300
みかん300


お手数ですが、アドバイスよろしくお願いします。

投稿日時 - 2013-08-22 22:45:59

QNo.8231455

困ってます

このQ&Aは役に立ちましたか?

6人が「このQ&Aが役に立った」と投票しています

回答(1)

ANo.1

こういうこと?
(理想の処理結果から「なし」が消えてるロジックがわからないけど)

create table hoge (name varchar(20),price int null);
insert into hoge(name) values('りんご'),('みかん'),('なし');
update hoge set price=300 where name like '%ん%';

ちなみに前方後方一致は負荷が高いので膨大な処理をする場合はきびしいかも
(数万件程度なら余裕だけど・・・)

投稿日時 - 2013-08-22 23:18:07

お礼

すいません、、、私の伝え方が悪かったようです。。
改めて内容再考したいと思います。

敏速にアドバイスをいただきありがとうございました。

投稿日時 - 2013-09-03 23:21:40

あなたにオススメの質問