我正在使用 mysqli,现在尝试从 SQL 代码片段(由 MySQL Workbench 生成)中获取视图到数据库中。
$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);
这行不通。没有错误,该声明似乎只是被忽略了。仅当我删除定界符定义(行、、和)时,它DELIMITER $$
才$$
有效DELIMITER ;
。
为什么它不起作用?我可以/应该做什么来在传递给mysqli
函数和方法的 SQL 语句中使用分隔符?
谢谢