2009-03-21 1 views
4

私のMySQLデータベースに新しいエントリを作成するときに、作成したばかりのテーブルのIDを返すクエリが必要です。それができない場合は、このIDを見つける別の方法はありますか?私がこれをしたい理由は、それを生み出した行に新しい行をリンクすることができるからです(そして、それらが連続しているという保証はありません)。PHPでMySQLで作成された行のIDを返す方法はありますか?

+0

PHPマニュアルで自分自身を見てください:http://docs.php.net/manual/en/ref.mysql.php – Gumbo

答えて

11

あなたは最後のautoincrement idを意味しますか?

<?php 
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password'); 
if (!$link) { 
    die('Could not connect: ' . mysql_error()); 
} 
mysql_select_db('mydb'); 

mysql_query("INSERT INTO mytable (product) values ('kossu')"); 
printf("Last inserted record has id %d\n", mysql_insert_id()); 
?> 
6

あなたはあなたがmysql_insert_idを探しているなら、あなたはちょうど、テーブルに挿入されていたレコードのIDを意味するかmysql_insert_id()

2

をしたいです。

0

を見てみましょう。

個人的には、私は自動インクリメント/アイデンティティ列を避け、他の方法でIDを生成しようとします。他の理由の中でも、複数の表に挿入するのが困難になるためです。

/B

1

http://php.net/mysql_insert_id

が...イタリックに「挿入」を変換アンダースコアをすみません、リンクをたどると、あなたは問題ないはず...にmysql_insert_id関数を使用します。

関連する問題