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]