Rumah  >  Artikel  >  pangkalan data  >  Bagaimana untuk Mengambil Nilai Baris yang Disisipkan dalam Pertanyaan MySQL Tunggal?

Bagaimana untuk Mengambil Nilai Baris yang Disisipkan dalam Pertanyaan MySQL Tunggal?

DDD
DDDasal
2024-10-25 08:05:28957semak imbas

How to Retrieve Inserted Row Values in a Single MySQL Query?

Mengambil Nilai Baris yang Disisipkan dalam Pertanyaan MySQL Tunggal

Apabila memasukkan baris baharu ke dalam jadual MySQL, selalunya perlu untuk mendapatkan semula nilai yang baru dimasukkan untuk pemprosesan selanjutnya atau merujuk. Berikut ialah cara untuk memasukkan baris dan pada masa yang sama memperoleh kandungannya dalam satu pertanyaan.

Pertanyaan yang disediakan:

INSERT INTO `items` (`item`, `number`, `state`) 
(SELECT '3', `number`, `state` FROM `item_bug` WHERE `id`='3')

menyisipkan baris ke dalam jadual item, memilih data daripada jadual item_bug dengan id sama dengan 3. Walau bagaimanapun, pertanyaan ini tidak menyediakan cara untuk mendapatkan semula rekod yang baru dimasukkan.

Untuk mencapai kedua-dua sisipan dan perolehan dalam satu pertanyaan, anda boleh menggunakan fungsi LAST_INSERT_ID(). Fungsi ini mengembalikan ID baris terakhir yang dimasukkan. Dengan menggabungkannya dengan pertanyaan tambahan, anda boleh mendapatkan butiran rekod yang dimasukkan.

Berikut ialah pertanyaan yang diubah suai:

INSERT INTO `items` (`item`, `number`, `state`) 
(SELECT '3', `number`, `state` FROM `item_bug` WHERE `id`='3');

SELECT * FROM `items` WHERE `id` = LAST_INSERT_ID();

Pertanyaan ini mula-mula memasukkan baris ke dalam jadual item. Kemudian, ia melaksanakan pertanyaan SELECT, yang mengambil semua lajur daripada jadual item untuk baris dengan id yang sama dengan ID yang terakhir dimasukkan.

Atas ialah kandungan terperinci Bagaimana untuk Mengambil Nilai Baris yang Disisipkan dalam Pertanyaan MySQL Tunggal?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn