sql >> Base de Datos >  >> RDS >> Mysql

Recupere y modifique el SQL utilizado en una Vista de MySQL para volver a ejecutarlo

Use esto para obtener la instrucción SQL que usa la Vista:

$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);

Nota No sé cuál es la cláusula WHERE real de su Vista, por lo que el str_ireplace() anterior es solo un ejemplo de cómo podría realizar su modificación.