mysql:12648
From: Shuichi Nakagawa <Shuichi Nakagawa <nakagawa.shui@xxxxxxxxxx>>
Date: Wed, 18 Jan 2006 09:58:57 +0900
Subject: [mysql 12648] Re: Insert 構文でaliasって使えない?
中川@FJITです. insert into tbl_name(col_name1, col_name2, col_name3) values('aaa', 2, と書き始めて insert into tbl_name(col_name1, col_name2, col_name3) values('aaa', 2, (select B.col_name3 + 1 from tbl_name as B where B.col_name1 ='aaa' and B.col_name2 =1)); と、してしまいましたが、 確かに insert into tbl_name(col_name1, col_name2, col_name3) select 'aaa', 2, B.col_name3 + 1 from tbl_name as B where B.col_name1 ='aaa' and B.col_name2 =1; と、書けばサブクエリ使わなくて済みますね...ボケでした. で、さっそくやってみたのですが、今度はキー違反になります. tbl_nameは col_name1, col_name2, col_name3 'aaa' , 1 , 11 <- これが入っていて 'aaa' , 2 , 12 <- これを追加したい キーはcol_name1 + col_name2 で 'aaa'-2 のキー違反といわれます. insert 前には存在しないレコードでキー違反と言われてるようですが、 先のサブクエリの制限と同様の仕様でしょうか. CUT-----8<--------8<--------8<--------8<--------8<--------8<-------CUT 01/18 09:07に""F.Y" <fumi_sby@xxxxxxxxxx>"さんが出した "[mysql 12645] Re: Insert 構文でaliasって使えない?"において、 >insert into tbl_name(col_name1, col_name2) >select col_name2 + 1 from tbl_name >where col_name1 = 'aaa'; > >と書かない理由は何? > >> おっしゃるとおり、一旦サブクエリの値を取り出すしかないようです. >> >> スッキリしました. > > >-------------------------------------- >GANBARE! NIPPON! >Yahoo! JAPAN JOC OFFICIAL INTERNET PORTAL SITE PARTNER >http://pr.mail.yahoo.co.jp/ganbare-nippon/ >
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]