end0tknr's kipple - 新web写経開発

http://d.hatena.ne.jp/end0tknr/ から移転しました

joinを使ったdeleteを実行しようとしたら

mysql> delete juchuu_result
    -> from juchuu_result jr
    -> join juchuu_summary js on (jr.id=js.id)
    -> where jr.is_new_bukken=1 and js.admit_juchuu_user is null;
ERROR 1109 (42S02): Unknown table 'juchuu_result' in MULTI DELETE

と、怒られました。
mysqlって、joinを使ったdeleteできない...」等とバカなことを思いましたが、

mysql> delete jr
    -> from juchuu_result jr
    -> join juchuu_summary js on (jr.id=js.id)
    -> where jr.is_new_bukken=1 and js.admit_juchuu_user is null;
Query OK, 0 rows affected (0.19 sec)

delete直後も table aliasで書いたら、解消しました。

2013/3/22追記 update & join

joinを使ったupdate...よく忘れます

update tbl_1 t1
join tbl_2 t2 on t1.anken_id=t2.id
set t2.shiten=t1.shiten