Jak zmusić mysqli do pracy z DELIMITERAMI w instrukcjach SQL?
Używam mysqli i próbuję teraz uzyskać widok z fragmentu kodu SQL (wygenerowanego przez MySQL Workbench) do bazy danych.
$query = <<<QUERY
DROP VIEW IF EXISTS `myview` ;
SHOW WARNINGS;
DROP TABLE IF EXISTS `myview`;
SHOW WARNINGS;
DELIMITER $
CREATE OR REPLACE VIEW `myview` AS
...view definition...
$
DELIMITER ;
;
SHOW WARNINGS;
SET SQL_MODE=@OLD_SQL_MODE;
SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;
QUERY;
$result = mysqli_multi_query($dbConnection, $query);
To nie działa. Bez błędów, stwierdzenie wydaje się po prostu ignorowane. Działa tylko, jeśli usunę definicje separatora (linieDELIMITER $$
, $$
, iDELIMITER ;
).
Dlaczego to nie działa? Co może / powinienem zrobić, aby użyć ograniczników w instrukcjach SQL przekazywanych domysqli
funkcje i metody?
Dzięki