Rumah >pangkalan data >tutorial mysql >Bagaimanakah saya boleh menghantar tatasusunan rentetan ke Prosedur Tersimpan MySQL?

Bagaimanakah saya boleh menghantar tatasusunan rentetan ke Prosedur Tersimpan MySQL?

Susan Sarandon
Susan Sarandonasal
2024-12-05 02:44:10314semak imbas

How Can I Pass String Arrays to MySQL Stored Procedures?

Melalukan Parameter Tatasusunan kepada Rutin Tersimpan MySQL

Apabila bekerja dengan tatasusunan rentetan panjang berubah, menghantarnya sebagai parameter kepada rutin disimpan MySQL boleh menimbulkan cabaran. Untuk mengatasinya, penyelesaian alternatif ialah menggabungkan nilai tatasusunan ke dalam satu rentetan dan menggunakan pernyataan yang disediakan.

Coretan kod berikut menggariskan proses:

DELIMITER $$

CREATE PROCEDURE GetFruits(IN fruitArray VARCHAR(255))
BEGIN

  SET @sql = CONCAT('SELECT * FROM Fruits WHERE Name IN (', fruitArray, ')');
  PREPARE stmt FROM @sql;
  EXECUTE stmt;
  DEALLOCATE PREPARE stmt;

END
$$

DELIMITER ;

Untuk menggunakan prosedur tersimpan ini , anda boleh memulakan pembolehubah rentetan dengan nilai tatasusunan yang dipisahkan dengan koma dan memanggil prosedur, menghantar pembolehubah sebagai hujah:

SET @fruitArray = '\'apple\',\'banana\'';
CALL GetFruits(@fruitArray);

Penyelesaian ini dengan berkesan membolehkan anda menghantar tatasusunan nilai rentetan ke rutin disimpan MySQL dan bekerja dengan data dalam jadual dalam memori.

Atas ialah kandungan terperinci Bagaimanakah saya boleh menghantar tatasusunan rentetan ke Prosedur Tersimpan MySQL?. 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