我有一个方法必须创建mysql过程,然后运行它。问题是改变分隔符
public function doSomeThing(){
$run = array();
$run[] = DB::query(null, "DELIMITER $$");
//... here we continue of pushing more commands
/**
* @var Database_Query[] $run
*/
foreach($run as $command){
$command->execute();
}
}
我看到异常:
Database_Exception [1064]:您的SQL语法有错误; 检查与您的MySQL服务器版本对应的手册 正确的语法,使用附近的DELIMITER $$'在第1行[DELIMITER $$]
我做错了什么?感谢
答案 0 :(得分:3)
正如您在this answer中看到的那样,您无法通过PHP使用DELIMITER
,因为它是命令行语句。只需将其删除并使用一系列查询(Kohana遗憾地does not support multiple queries通过一次调用DB
)