MySQL知っている人にはとっては常識的なことだけど初心者は知らないこと。

2016.08.26

Logging


MySQL知っている人にはとっては常識的なことだけど初心者は知らないこと。
ググればあるレベルなことを書いてみることにする。
アップデートやインサートをする場合、デリートもそうだけど
自分自身(テーブル)を呼び出せない罠・・・・。
すこし考えれば当たり前だけど、初心者はどうして出来ないかと
悩んでしまう人も中に入ると思います。
なぜ、出来ないかというと今からアップデートやインサートを
するテーブルに問い合わせするということは、矛盾することになるから
そういう事は出来ないようにMYSQLはなっています。
もしそういう事をしたいのならテンポラリテーブルを作って
そのテーブルを呼び出して処理することをお勧めします。
じゃ他のテーブルなら呼び出せるのという問いですが
呼び出すことは可能です。MYSQL5以上なら
サブクエリー(副問合せ)が可能です。
自分がやっていることが副問合せになっているかどうか
コレが副問合せということかは分かりませんが
呼び出すことが可能ですw
こんな感じでUpdateやInsertが可能です。

update tbl set hoge=(select hogeko from tbl2 where hogeko=1) where hoge>7;

タグ

AM, Insert, MYSQL, MYSQL5以上, select hogeko from tbl2 where hogeko, update tbl set hoge, where hoge&gt, アップデート, インサート, サブクエリー, すこし, デリート, テンポラリテーブル, 初心者, 副問合せ, 問い, 基礎, 改訂版,