Heim >Datenbank >MySQL-Tutorial >Wie übergebe ich ein String-Array an eine gespeicherte MySQL-Prozedur?

Wie übergebe ich ein String-Array an eine gespeicherte MySQL-Prozedur?

DDD
DDDOriginal
2024-12-07 19:47:13852Durchsuche

How to Pass a String Array to a MySQL Stored Procedure?

Übergabe eines Arrays an eine in MySQL gespeicherte Routine

Um ein Array von Zeichenfolgen als Parameter an eine in MySQL gespeicherte Routine zu übergeben, können Sie eine vorbereitete Anweisung verwenden und die erstellen Abfragezeichenfolge mit der Funktion CONCAT().

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 ;

Anleitung verwenden:

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

Diese Methode erstellt eine temporäre Tabelle mit den Fruchtnamen und verwendet dann eine Abfrage, um die entsprechenden Zeilen aus der Fruchttabelle auszuwählen.

Das obige ist der detaillierte Inhalt vonWie übergebe ich ein String-Array an eine gespeicherte MySQL-Prozedur?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn