Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Memilih Data daripada Jadual Dinamakan Dinamik dalam MySQL?

Bagaimana untuk Memilih Data daripada Jadual Dinamakan Dinamik dalam MySQL?

Barbara Streisand
Lepaskan: 2024-12-11 10:44:14
asal
471 orang telah melayarinya

How to Select Data from a Dynamically Named Table in MySQL?

Cara Melaksanakan Pemilihan Jadual Dinamik dalam MySQL

Apabila menanyakan pangkalan data MySQL, anda mungkin menghadapi situasi di mana anda ingin memilih data daripada jadual yang namanya disimpan dalam pembolehubah. Ini boleh berguna untuk pengaturcaraan abstrak atau tujuan dinamik. Walau bagaimanapun, percubaan langsung untuk melaksanakan pertanyaan sedemikian menggunakan sintaks seperti:

SET @ID_1 = (SELECT ID FROM `slider` LIMIT 0,1);
SET @Cat = (SELECT Category FROM `slider` LIMIT 0,1);
select * from @Cat where ID = @ID_1
Salin selepas log masuk

mengakibatkan ralat MySQL. Untuk mengatasi had ini, pendekatan yang lebih mantap diperlukan.

Penyelesaian: Menggunakan Penyata Disediakan

Untuk memilih daripada jadual MySQL tempat nama jadual disimpan dalam pembolehubah , anda boleh menggunakan kenyataan yang disediakan. Kenyataan yang disediakan membolehkan anda menjana dan melaksanakan pertanyaan SQL secara dinamik dengan terlebih dahulu menyediakan pertanyaan dan kemudian melaksanakannya dengan nilai sebenar.

Begini cara anda boleh mencapai ini:

SET @s = CONCAT('select * from ', @Cat, ' where ID = ', @ID_1); 

PREPARE stmt1 FROM @s; 
EXECUTE stmt1; 
DEALLOCATE PREPARE stmt1; 
Salin selepas log masuk

Pecahan Penyelesaian:

  1. @s = CONCAT(): Pernyataan ini menggabungkan rentetan 'select * from ' dengan nilai yang disimpan dalam @Cat dan @ID_1 untuk membentuk pertanyaan SQL sebenar.
  2. SEDIAKAN stmt1 FROM @s: Pernyataan ini menyediakan pertanyaan SQL daripada rentetan yang disimpan dalam @s dan mengaitkannya dengan nama 'stmt1'.
  3. LAKSANAKAN stmt1: Penyataan ini melaksanakan penyataan stmt1 yang disediakan, melaksanakan pertanyaan SQL dinamik dengan berkesan.
  4. PENYAHAH PERSEDIAAN: Kenyataan ini mengeluarkan sumber yang diperuntukkan untuk pernyataan yang disediakan stmt1.
Dengan menggunakan pernyataan yang disediakan, anda boleh membina dan melaksanakan pertanyaan SQL secara dinamik berdasarkan nama jadual pembolehubah, memastikan fleksibiliti dan pelaksanaan bebas ralat.

Atas ialah kandungan terperinci Bagaimana untuk Memilih Data daripada Jadual Dinamakan Dinamik dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan