2008/08/04 (月)
今日も夕方にひどい雷。
光と音が0.5秒以内のこともあって、けっこうドキドキワクワク。
デスクトップPCの電源を落として、コンセントとか引っこ抜いておこうかとも思ったけど、結局そのまま粘って仕事を続けてしまった。
いつものように、東京アメッシュのアニメーションで今後の展開を予想するも、今日は雨が移動しないので予想しづらい。まいるなぁ。。。
2008-06-30:PostgreSQLとMySQLのUPDATE構文
あるテーブルに UPDATE かけたくて、しかし対象行の検索には別のテーブルを結合したいビューを使いたい、という場合のオハナシ。
PostgreSQL の場合、UPDATE 文に FROM 句が使えて、ここに WHERE 句で使いたいテーブル・ビューを記述できる。
例を書くと、
UPDATE table_name as t SET target_column_name = value FROM view_name as v WHERE t.where_column_name = v.where_column_name and v.search_column_name = search_value;
のような形。
が、同じことを MySQL でやろうとしたら、怒られた。MySQL では FROM 句が使えない。
MySQL の場合は単純に UPDATE のターゲットテーブルと併記すればよい。
UPDATE table_name as t, view_name as v SET target_column_name = value WHERE t.where_column_name = v.where_column_name and v.search_column_name = search_value;
SQL92 標準的にどうなのかは知りません。だれか教えてください。:-)
そんなことより、今日 MySQL のマニュアル読んでてびっくりしたのは、UPDATE 文にORDER BY 句が使えること。指定した順で更新されていく。
なんの意味があるんだろう?
やっぱり MySQL は変態だなぁ、と思った(誉めてます)。
comment