Heim  >  Artikel  >  Datenbank  >  Wie rufe ich die zuletzt eingefügte ID nach einer INSERT-Abfrage im aktiven CodeIgniter-Datensatz ab?

Wie rufe ich die zuletzt eingefügte ID nach einer INSERT-Abfrage im aktiven CodeIgniter-Datensatz ab?

Linda Hamilton
Linda HamiltonOriginal
2024-11-05 20:08:02174Durchsuche

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

So rufen Sie die zuletzt eingefügte ID nach einer INSERT-Abfrage im aktiven CodeIgniter-Datensatz ab

Problem:

Wenn Sie eine Einfügeabfrage mit dem aktiven Datensatz von CodeIgniter ausführen, möchten Sie die letzte automatisch inkrementierte ID für den eingefügten Datensatz abrufen. Allerdings stoßen Sie auf Schwierigkeiten, diesen Wert zu erhalten.

Lösung:

Um die zuletzt eingefügte ID im CodeIgniter Active Record korrekt abzurufen, führen Sie die folgenden Schritte aus:

  1. Vermeiden Sie Transaktionen rund um die INSERT-Operation:
    In Ihrer bereitgestellten Modellfunktion haben Sie die Einfügeoperation mithilfe von trans_start() und trans_complete() in eine Transaktion eingeschlossen. Bei Einzeleinfügevorgängen ist dies nicht erforderlich. Entfernen Sie diese Transaktionsblöcke, um die letzte ID korrekt abzurufen.
  2. Rufen Sie insert() vor insert_id() auf:
    Sobald Sie die Transaktionen entfernt haben, stellen Sie sicher, dass Sie insert() aufrufen, bevor Sie darauf zugreifen insert_id().

Aktualisierte Modellfunktion:

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

    return $insert_id;
}</code>

Für mehrere Einfügungen sollten Sie die Verwendung von Masseneinfügungen mit Batch-Anweisungen in Betracht ziehen.

Das obige ist der detaillierte Inhalt vonWie rufe ich die zuletzt eingefügte ID nach einer INSERT-Abfrage im aktiven CodeIgniter-Datensatz ab?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn