public function getListTableForeignKeysSQL($table, $database = null)
{
$table = $this->quoteStringLiteral($table);
if (null !== $database) {
$database = $this->quoteStringLiteral($database);
}
$sql = "SELECT DISTINCT k.`CONSTRAINT_NAME`, k.`COLUMN_NAME`, k.`REFERENCED_TABLE_NAME`, " . "k.`REFERENCED_COLUMN_NAME` /*!50116 , c.update_rule, c.delete_rule */ " . "FROM information_schema.key_column_usage k /*!50116 " . "INNER JOIN information_schema.referential_constraints c ON " . " c.constraint_name = k.constraint_name AND " . " c.table_name = {$table} */ WHERE k.table_name = {$table}";
$databaseNameSql = null === $database ? 'DATABASE()' : $database;
$sql .= " AND k.table_schema = {$databaseNameSql} /*!50116 AND c.constraint_schema = {$databaseNameSql} */";
$sql .= " AND k.`REFERENCED_COLUMN_NAME` is not NULL";
return $sql;
}