Das Ausführen dynamischer Abfragen, bei denen die SQL-Anweisung selbst zur Laufzeit erstellt wird, wird in MSSQL üblicherweise mithilfe der gespeicherten Prozedur EXEC ausgeführt. Allerdings fehlt MySQL ein direktes Äquivalent.
Um dynamische Abfragen in MySQL auszuführen, besteht ein Ansatz darin, die Abfragezeichenfolge als Variable zu konstruieren und dann die Anweisungen PREPARE und EXECUTE zu verwenden.
Der folgende Code zeigt, wie eine dynamische Abfrage ausgeführt wird MySQL:
SET @queryString = ( SELECT CONCAT('INSERT INTO user_group (`group_id`,`user_id`) VALUES ', www.vals) as res FROM ( SELECT GROUP_CONCAT(qwe.asd SEPARATOR ',') as vals FROM ( SELECT CONCAT('(59,', user_id, ')') as asd FROM access WHERE residency = 9 ) as qwe ) as www ); PREPARE stmt FROM @queryString; EXECUTE stmt; DEALLOCATE PREPARE stmt; SET @asd = NULL;
Durch die Befolgung dieses Ansatzes kann MySQL dynamische Abfragen ausführen, auch wenn die Abfrage selbst nicht im Voraus bekannt ist.
Das obige ist der detaillierte Inhalt vonWie führe ich dynamische Abfragen in MySQL aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!