#sql #triggers
#sql #триггеры
Вопрос:
Как это исправить?
CREATE TRIGGER tb_mhs2_hapus AFTER DELETE
ON tb_mhs2 FOR EACH ROW
BEGIN
INSERT INTO tb_mhs2_hapus (nama, no, alamat, org_tua, timeee) VALUES (old.nama, old.no, old.alamat, old.org_tua, SYSDATE());
END;
я запутался, где я ошибаюсь? «У вас ошибка в синтаксисе SQL;»
Ответ №1:
Прежде всего, почему имя вашего триггера совпадает с именем таблицы? tb_mhs2_hapus
Итак, ваш код должен быть:
CREATE OR REPLACE TRIGGER TRG_tb_mhs2_hapus
AFTER DELETE ON tb_mhs2
FOR EACH ROW
BEGIN
INSERT INTO tb_mhs2_hapus (nama, no, alamat, org_tua, timeee)
VALUES (old.nama, old.no, old.alamat, old.org_tua, SYSDATE());
END;
Комментарии:
1. по-прежнему неправильно, мистер, СОЗДАЙТЕ ТРИГГЕР ИЛИ ЗАМЕНИТЕ TRG_tb_mhs2_hapus ПОСЛЕ УДАЛЕНИЯ В tb_mhs2 ДЛЯ КАЖДОЙ СТРОКИ, НАЧНИТЕ ВСТАВЛЯТЬ В tb_mhs2_hapus (nama, no, alamat, org_tua, timeee) ЗНАЧЕНИЯ (:old.nama, :old.no , :old.alamat, :old.org_tua, SYSDATE) MySQL сказал: Документация #1064- У вас ошибка в синтаксисе SQL; проверьте руководство, соответствующее вашей версии сервера MariaDB, на предмет правильного синтаксиса для использования рядом с ‘ИЛИ ЗАМЕНИТЕ TRG_tb_mhs2_hapus ПОСЛЕ УДАЛЕНИЯ НА tb_mhs2 ДЛЯ КАЖДОЙ СТРОКИ, НАЧИНАЮЩЕЙСЯ …’ в строке 1