Mysql
 sql >> Base de données >  >> RDS >> Mysql

Récupérer et modifier le SQL utilisé dans une vue MySQL pour réexécution

Utilisez ceci pour obtenir l'instruction SQL utilisée par la vue :

$viewSQL = "SELECT VIEW_DEFINITION FROM INFORMATION_SCHEMA.VIEWS 
WHERE TABLE_SCHEMA = 'myDatabase' AND TABLE_NAME = 'filter_tbl'";

$result = mysql_query($viewSQL);
$resultQuery = mysql_fetch_assoc($result);
$SqlUsedByView = $resultQuery['VIEW_DEFINITION'];
// Now alter the WHERE clause to your needs:
$MyNewSQL = str_ireplace( "WHERE ", "WHERE `lead_id`!=".$idval." AND " , $SqlUsedByView);

Remarque Je ne sais pas quelle est la clause WHERE réelle de votre vue, donc le str_ireplace() ci-dessus n'est qu'un exemple de la façon dont vous pourriez apporter votre modification.