как создать триггер в codeigniter? мой код не работает - PullRequest
0 голосов
/ 17 июня 2020

модель

public function register($table, $data)
{
    return $this->db->insert($table, $data);
}
public function after_register()
        {
            $query = $this->db->query("
                CREATE TRIGGER 'afterinsert_user' AFTER INSERT ON 'user' FOR EACH ROW 
                BEGIN
                    UPDATE user SET id_siswa=NEW.id_user WHERE id_user=NEW.id_user;
                    INSERT INTO siswa VALUES(NEW.id_user,'','','','','','','','');
                END
            ");
            return $query;
        }

контроллер

$insert = $this->m_siswa->register("user", $data);    
$trigger = $this->m_siswa->after_register();

НО Я ПОЛУЧАЮ ОШИБКУ

Номер ошибки: 1064

У вас ошибка в SQL синтаксис; проверьте руководство, соответствующее вашей версии сервера MariaDB, чтобы найти правильный синтаксис для использования рядом с '' afterinsert_user 'AFTER INSERT ON' user 'FOR EACH ROW BEGIN' в строке 1

CREATE TRIGGER 'afterinsert_user' AFTER INSERT ON ' user 'ДЛЯ КАЖДОЙ СТРОКИ НАЧАТЬ ОБНОВЛЕНИЕ user SET id_siswa = NEW.id_user WHERE id_user = NEW.id_user; ВСТАВИТЬ В siswa VALUES (NEW.id_user, '', '', '', '', '', '', '', ''); КОНЕЦ

Имя файла: C: / xampp / htdocs / meskul / system / database / DB_driver. php

Номер строки: 691

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