mysql:7536
From: Tatsuhiko Miyagawa <Tatsuhiko Miyagawa <miyagawa@xxxxxxxxxx>>
Date: Thu, 17 Apr 2003 19:22:45 +0900
Subject: [mysql 07536] Re: insert したデータの KEY を得るには?
宮川です。 At Thu, 17 Apr 2003 18:42:24 +0900, aimitsu katoh wrote: > > とみたまさひろ さんWrote: > > > >Perl の DBI は詳しくないですが、INSERT 後に SELECT LAST_INSERT_ID; と > >すれば取得できると思います。 $dbh->{mysql_insertid} で取得できます。 > > 返信ありがとうございます。 > やはり上記方法が一般的なのでしょうか? > この方法だと INSERT -------> SELECT LAST_INSERT_ID; の間にINSERT命令が入ってしまった場合に > 正しい値が取得できないのではないかと思っています。 LAST_INSERT_ID はConnection毎にキャッシュされるので上記SQL文でも問題なく取得できます。 http://www.mysql.gr.jp/jpdoc/4.0/manual.ja_Reference.html#Miscellaneous_functions > MySQLに排他ロックをかける方法とかってあるのでしょうか? GET_LOCK()関数や LOCK TABLES などの方法がありますが、INSERT_ID の取得 では必要ありません。 -- Tatsuhiko Miyagawa <miyagawa@xxxxxxxxxx>
7529 2003-04-17 18:04 [aimitsu katoh <akimi] insert したデータの KEY を得るには? 7532 2003-04-17 18:32 ┣[とみたまさひろ <tomm] 7534 2003-04-17 18:42 ┃┗[aimitsu katoh <akimi] -> 7536 2003-04-17 19:22 ┃ ┗[Tatsuhiko Miyagawa <] 7537 2003-04-17 19:38 ┃ ┗[aimitsu katoh <akimi] 7535 2003-04-17 18:53 ┣["TOYOSHIMA,Masayuki"] auto_increment int 型について 7538 2003-04-17 23:55 ┃┗[とみたまさひろ <tomm] 7540 2003-04-18 06:46 ┗["KAWAI,Takanori" <GC]