Maison >base de données >tutoriel mysql >Comment exécuter des requêtes dynamiques dans MySQL ?
L'exécution de requêtes dynamiques, où l'instruction SQL elle-même est construite au moment de l'exécution, est généralement effectuée dans MSSQL à l'aide de la procédure stockée EXEC. Cependant, MySQL n'a pas d'équivalent direct.
Pour exécuter des requêtes dynamiques dans MySQL, une approche consiste à construire la chaîne de requête en tant que variable, puis à utiliser les instructions PREPARE et EXECUTE.
Le code suivant montre comment exécuter une requête dynamique dans 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;
En suivant cette approche, MySQL peut exécuter des requêtes dynamiques même si la requête elle-même n'est pas connue à l'avance.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!