Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Abrufen und Ändern der in einer MySQL-Ansicht verwendeten SQL zur erneuten Ausführung

Verwenden Sie dies, um die SQL-Anweisung zu erhalten, die die Ansicht verwendet:

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

Hinweis Ich weiß nicht, was die tatsächliche WHERE-Klausel Ihrer Ansicht ist, also ist das obige str_ireplace() nur ein Beispiel dafür, wie Sie Ihre Änderung vornehmen könnten.