如何使用 zend 框架 1.12 执行 sql 文件 file.sql?

How to execute a sql file file.sql with zend framework 1.12?

Php 脚本:

   $db = Zend_Db_Table::getDefaultAdapter();
   $file_content = file_get_contents('file.sql', FILE_USE_INCLUDE_PATH);
   if($file_content!=''){
       $db->query($sql);
   }

如果 sql 文件包含一个简单的 sql 查询,它对我有用。

我的 sql 文件包含过程声明:

DELIMITER $$
CREATE PROCEDURE PROC()
BEGIN
    ALTER ...... ;
    DELETE ..... ;
END $$
DELIMITER ;

Looks like it won't happen with ZF1.12

如果您的 file.sql 的内容用作 sql 查询字符串,它应该如下所示(没有 "delimiters"):

CREATE PROCEDURE PROC()
BEGIN
    ALTER ...... ;
    DELETE ..... ;
END

另外,事先检查数据库中是否存在某个过程:

SELECT EXISTS (SELECT 1 FROM mysql.proc p WHERE db = 'db_name' 
AND name = 'PROC');