Триггер проблемы восстановления базы данных и хранимая процедура (Mysql / Codeigniter) - PullRequest
0 голосов
/ 17 сентября 2018

Мы используем один источник с концепцией нескольких баз данных.Я пытаюсь восстановить базу данных (файл .sql) базы данных клиента, все таблицы восстанавливаются нормально, кроме триггера и хранимой процедуры.

Наше представление

enter image description here

Контроллер

public function import_database(){ 
$data = $this->input->post();
        if(!empty($data)) 
            {
            $config_app = array(
            'hostname' => 'localhost',
            'username' => 'root',
            'password' => '',
            'database' => $data['cmp_db_name'],
            'dbdriver' => 'mysqli',
            'dbprefix' => '',
            'pconnect' => FALSE,
            'db_debug' => TRUE
            );
            $this->db =$this->load->database($config_app,TRUE); // open client database connection
                        $filename=$_FILES["database"]["tmp_name"];      
                        $templine = '';
$lines = file($filename);
 foreach ($lines as $line)
{
if (substr($line, 0, 2) == '--' || $line == '')
continue;
$templine .= $line;
if (substr(trim($line), -1) == ';')
{
$this->db->query($templine);
$templine = '';
}
}
}
}

Я получил следующую ошибку:

Номер ошибки: 1064 Ошибка в синтаксисе SQL;обратитесь к руководству, соответствующему вашей версии сервера MariaDB, чтобы узнать правильный синтаксис для использования рядом с 'DELIMITER $$ CREATE DEFINER = root @ localhost PROCEDURE audt_pro (IN coumn_n' в строке 1 DELIMITER $$ CREATE DEFINER = root @ localhost` PROCEDURE audt_pro (INcoumn_nm TEXT, IN удаленный_id TEXT, IN tbl_nm VARCHAR (50)) НАЧАТЬ ОБЪЯВИТЬ qry текст;

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...