Как изменить разделитель mysql внутри структуры Kohana во время вызова одного метода модели?

У меня есть один метод, который должен создать процедуру 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 $$ ]

Что я делаю неправильно? Спасибо


person LINKeRxUA    schedule 20.10.2015    source источник
comment
Возможный дубликат как выполнить команду mysql DELIMITER   -  person kero    schedule 21.10.2015
comment
Этот пост с официального сайта Kohana форум также может помочь (tl; dr: multi_query не поддерживается Kohana)   -  person kero    schedule 21.10.2015
comment
Ага! Ты был прав! Это работает без разделителя. Пожалуйста, напишите ответ, так как разделитель - это не команда mysql, это команда оболочки. Попробуйте использовать массив запросов, игнорируя разделитель, чтобы я мог пометить его как решение для моего вопроса. Большое спасибо!   -  person LINKeRxUA    schedule 22.10.2015


Ответы (1)


Как видно из этого ответа, вы не можете использовать DELIMITER через PHP как это оператор командной строки. Просто оставьте это и используйте массив запросов (к сожалению, Кохана не поддерживает несколько запросов через один вызов DB)

person kero    schedule 22.10.2015