To jest źródło, które pomogło mi to zrozumieć...http://zend-framework-community.634137.n4.nabble.com/Problemy-zmiana-sql-ogranicznika-końca-oświadczenia-tp214060p2124276.html
Uważam, że jest to po prostu coś, co zaimplementowali niektórzy klienci MySQL, aby pomóc w wysyłaniu wielu instrukcji sql w tym samym czasie.
sterownik mysqli nie implementuje tej funkcji.
Więc to powinno działać.
$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);
Natrafiłem na ten sam problem, z tym samym sterownikiem mysqli, z funkcją multi_query (używanie ograniczników podczas tworzenia procedur) i usunięciem DELIMITER z mojego SQL zadziałało.