Toto je zdroj, který mi pomohl toto pochopit...http://zend-framework-community.634137.n4.nabble.com/Problems-changing-the-sql-end-of-statement-delimiter-tp2124060p6.2html
Věřím, že je to jen něco, co někteří klienti MySQL implementovali, aby pomohli odeslat spoustu příkazů SQL současně.
ovladač mysqli neimplementuje tuto funkci.
Takže by to mělo fungovat.
$query = <<<QUERY
DROP VIEW IF EXISTS `myview` ;
SHOW WARNINGS;
DROP TABLE IF EXISTS `myview`;
SHOW WARNINGS;
CREATE OR REPLACE VIEW `myview` AS
...view definition...
;
SHOW WARNINGS;
SET [email protected]_SQL_MODE;
SET [email protected]_FOREIGN_KEY_CHECKS;
SET [email protected]_UNIQUE_CHECKS;
QUERY;
$result = mysqli_multi_query($dbConnection, $query);
Narazil jsem na stejný problém, se stejným ovladačem mysqli, s funkcí multi_query (pomocí oddělovačů při vytváření procedur) a odstraněním DELIMITER z mého SQL fungovalo.