Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Recupere e altere o SQL usado em um MySQL View para reexecução


Use isso para obter a instrução SQL que o View usa:
$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);

Observação Eu não sei qual é a cláusula WHERE real da sua View, então o str_ireplace() acima é apenas um exemplo de como você pode fazer sua alteração.