mysql:2277
From: (moeru) <<moeru@xxxxxxxxxx>>
Date: Tue, 18 Jul 2000 23:20:06 +0900
Subject: [mysql 02277] LAST_INSERT_ID()
モエルです。 いつもお世話になっておりますm(__)m LAST_INSERT_ID()について教えてください。 やりたい事なんですけど ★データーベース内でIDを一意にしたいです。 CREATE TABLE item ( itemid int(20) DEFAULT '0' NOT NULL auto_increment, とauto_increment属性を付けているとき 例えば、itemidが50のデータを削除、もしくは他のテーブルにバックアップした場合 次にitemテーブルにデータを登録したときのitemidを51にしたいのです。 これは、LAST_INSERT_ID()を使えばいいと言うことでしょうか? $lastitemid = mysql_insert_id(); とか $lastitemid = "SELECT LAST_INSERT_ID() FROM item"; を試したのですが 0が返ってきます。 マニュアルの、E.1.7 Changes in release 3.23.15に Fixed problems in update log when using LAST_INSERT_ID() to update a table with an auto_increment key. とありました。 今、3.22.32を使ってるのですが、 3.22.32だと、LAST_INSERT_ID()がうまく動いていないでしょうか? LAST_INSERT_ID()は、auto_incrementで自動生成された最後の値を返すって書いてありますが この値は、更新ログ(hostname.001)を見てるのでしょうか? 更新ログには、set last_insert_id=50; が記録されています。。 ヴァージョンUPが必要でしょうか? アドバイス宜しくお願いしますm(__)m *MySQLのオンラインマニュアルですが、検索機能があると嬉しいです(^^; モエル
-> 2277 2000-07-18 23:20 [<moeru@xxxxxxxxxx> ] LAST_INSERT_ID() 2278 2000-07-18 23:47 ┗[とみたまさひろ <tomm] 2279 2000-07-19 00:10 ┗[<moeru@xxxxxxxxxx> ]