[前][次][番号順一覧][スレッド一覧]

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]