Rumah > pangkalan data > tutorial mysql > Mengapa Saya Mendapat Ralat \'Pembolehubah Tidak Diisytiharkan\' Semasa Menggunakan SELECT INTO?

Mengapa Saya Mendapat Ralat \'Pembolehubah Tidak Diisytiharkan\' Semasa Menggunakan SELECT INTO?

Linda Hamilton
Lepaskan: 2024-10-30 04:35:28
asal
762 orang telah melayarinya

Why Am I Getting an

Ralat Pembolehubah Tidak Diisytiharkan Semasa Menggunakan SELECT INTO Query

Apabila cuba untuk melaksanakan pernyataan SELECT INTO yang menyimpan keputusan ke dalam pembolehubah, anda boleh menghadapi ralat berikut:

Pembolehubah tidak diisytiharkan:

Ralat ini biasanya berlaku apabila pembolehubah yang dinyatakan dalam klausa INTO belum diisytiharkan atau dimulakan terlebih dahulu.

Contoh

Pertimbangkan pertanyaan berikut:

SELECT id_subscriber
  INTO newsletter_to_send
  FROM subscribers 
Salin selepas log masuk

Apabila anda cuba melaksanakan pertanyaan ini, anda akan menerima mesej ralat "#1327 - Pembolehubah tidak diisytiharkan: newsletter_to_send". Ralat ini menunjukkan bahawa pembolehubah "newsletter_to_send" belum dibuat atau diberikan nilai.

Penyelesaian

Untuk menyelesaikan ralat ini, anda mesti gunakan penyataan INSERT...SELECT sebaliknya:

INSERT INTO newsletter_to_send
SELECT id_subscriber FROM subscribers 
Salin selepas log masuk

Pernyataan INSERT...SELECT membolehkan anda memasukkan hasil pertanyaan terus ke dalam jadual tertentu, dengan berkesan mewujudkan pembolehubah sasaran dalam proses.

Nota Tambahan

Adalah penting untuk memastikan pertanyaan yang digunakan dalam pernyataan INSERT...SELECT adalah betul dan tidak menghasilkan rekod pendua. Pertimbangkan untuk menambah klausa WHERE untuk menapis data seperti yang diperlukan.

Atas ialah kandungan terperinci Mengapa Saya Mendapat Ralat \'Pembolehubah Tidak Diisytiharkan\' Semasa Menggunakan SELECT INTO?. 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