お世話になります。
sqlのコードを書いていて、ふと知りたいことが出てきました。
ご存じの方がいらっしゃいましたら、どうぞよろしくお願いいたします。
以下のようなテーブル「おやつ」があります。感想カラムはnullです。
日 | 色 | 果物 | 感想 |
---|---|---|---|
1 | 赤い | りんご | |
2 | 赤い | いちご | |
3 | 黄色い | みかん | |
: |
今、感想カラムに他のカラムからなる文字列を挿入するようUPDATEしたいと思います。
具体的には「感想」=”「日」に「色」「果物」を食べました。”となるような文字列を挿入したいと思います。
すなわちUPDATEした後のテーブルは
日 | 色 | 果物 | 感想 |
---|---|---|---|
1 | 赤い | りんご | 1日に赤いりんごを食べました。 |
2 | 赤い | いちご | 2日に赤いいちごを食べました。 |
3 | 黄色い | みかん | 2日に黄色いみかんを食べました。 |
: |
となるようにしたいのです。
私が考えた解決方法としては、PHPと連携して
php
1: 2$sql="select * from 'おやつ'"; 3$result=$mysqli->query($sql); 4foreach($row = $result->fetch_assoc()){ 5 $str="{$row['日']}日にを食べました。"; 6 $update="update from 'おやつ' set '感想' = '{$str}' where '日' = '{$row['日']}'"; 7 $mysqli->execute($update); 8} 9:
といった感じの処理を行う方法ですが、もっとスマートに(できればmysqlの機能のみで)単一のクエリで行うことはできないでしょうか。
個人的に調べましたが、調べ方が悪いのか目的とする情報を見つけ出すことができませんでした。
どなたかこれよりも美しい方法をご存じでしたら、どうかご教示ください。
よろしくお願いいたします。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/09/05 22:54