Rumah >pangkalan data >tutorial mysql >Bagaimanakah saya boleh menghantar tatasusunan rentetan ke Prosedur 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!