2009-07-23 3 views
1

テーブルに行を挿入していて、自動的にインクリメントされたプライマリインデックスの値を取得したいとします。テーブルにINSERTすると、自動的にインクリメントされたプライマリインデックスの値を取得できますか?

プライマリインデックスはテーブル内の唯一の一意の値ですので、あいまいさを防ぐために「SELECT [プライマリインデックス] FROM [テーブル] WHERE [カラム=挿入したデータ]」のような操作はしたくありません。 INSERTステートメントとSELECTステートメントの間に行が挿入されている可能性があるため、最後の行をSELECTしたくありません。

空の行をINSERTしてプライマリインデックスを選択し、データを含む行をUPDATEできますが、これはかなり醜いハックのようです。これは、mysqli APIを使って挿入した行のプライマリインデックスを取得する方法でなければならないと考えています。なぜなら、これは非常に遍在的なことだと思います。

誰かが私を啓発できますか?

答えて

5

mysql_insert_id()です。

質問に「mysqli」とタグ付けしました。その場合は、mysqli->insert_id()を使用します。

+0

私はそれをGoogleに持ち込んで、あなたがすでにそこにあった答えを書いていました。私は最初にPHPを知っていれば勝ったと思う。 – Davis

関連する問題