ホームページ  >  記事  >  データベース  >  CodeIgniter アクティブ レコードで INSERT クエリの後に最後に挿入された ID を取得する方法

CodeIgniter アクティブ レコードで INSERT クエリの後に最後に挿入された ID を取得する方法

Linda Hamilton
Linda Hamiltonオリジナル
2024-11-05 20:08:02172ブラウズ

How to Retrieve the Last Inserted ID After an INSERT Query in CodeIgniter Active Record?

CodeIgniter アクティブ レコードの INSERT クエリ後に最後に挿入された ID を取得する方法

問題:

CodeIgniter のアクティブ レコードを使用して挿入クエリを実行するときは、挿入されたレコードの最後に自動インクリメントされた ID を取得することを目的とします。ただし、この値を取得するときに問題が発生します。

解決策:

CodeIgniter アクティブ レコードに最後に挿入された ID を正しく取得するには、次の手順に従います。

  1. INSERT 操作周辺のトランザクションを避ける:
    提供されたモデル関数では、trans_start() と trans_complete() を使用して挿入操作をトランザクションでラップしました。単一挿入操作の場合、これは不要です。最後の ID を正しく取得するには、これらのトランザクション ブロックを削除します。
  2. insert_id() の前に insert() を呼び出す:
    トランザクションを削除したら、アクセスする前に必ず insert() を呼び出してください。 insert_id().

更新されたモデル関数:

<code class="php">function add_post($post_data) {
    $this->db->insert('posts', $post_data);
    $insert_id = $this->db->insert_id();

    return $insert_id;
}</code>

複数の挿入の場合は、バッチ ステートメントでの一括挿入の使用を検討してください。

以上がCodeIgniter アクティブ レコードで INSERT クエリの後に最後に挿入された ID を取得する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。