mysql:12642
From: Shuichi Nakagawa <Shuichi Nakagawa <nakagawa.shui@xxxxxxxxxx>>
Date: Tue, 17 Jan 2006 21:19:52 +0900
Subject: [mysql 12642] Insert構文でaliasって使えない?
中川(秀)@FJITです. 教えてください. 下のようにテーブルからサブクエリで引っ張った値を同じテーブルに挿入したいのですが、 文法エラーになります. insert into tbl_name as A set A.col_name1='aaa', A.col_name2=(select B.col_name2 + 1 from tbl_name as B where B.col_name1='aaa') たぶんalias(as A のところ)が使えないだと思うのですが、 別手段で上記を実現するにはどうしたらよいでしょうか? insert into tbl_name values('aaa',(select B.col_name2 + 1 from tbl_name as B where B.col_name1='aaa')) これだと You can't specify target table 'tbl_name' for update in FROM clause このエラーに(たぶんあいまいになるから?) う〜ん、MySQLってあいまいさに厳しいですよね. ver 4.1.9 以上
-> 12642 2006-01-17 21:19 [Shuichi Nakagawa <na] Insert構文でaliasって使えない? 12643 2006-01-18 07:02 ┗[oppara <mlml@xxxxxxx] 12644 2006-01-18 08:29 ┗[Shuichi Nakagawa <na] 12645 2006-01-18 09:07 ┗["F.Y" <fumi_sby@xxxx] 12646 2006-01-18 09:27 ┣["F.Y" <fumi_sby@xxxx] 12647 2006-01-18 09:37 ┃┗["F.Y" <fumi_sby@xxxx] 12648 2006-01-18 09:58 ┗[Shuichi Nakagawa <na] 12649 2006-01-18 10:12 ┗["F.Y" <fumi_sby@xxxx] 12650 2006-01-18 10:40 ┗[Shuichi Nakagawa <na] 12651 2006-01-18 11:40 ┗[Shuichi Nakagawa <na]