#sql #sqlite
#sql #sqlite
Вопрос:
Я должен создать триггер в моей базе данных SQLite.
В базе данных есть 3 таблицы
questions (question_id)
options (option_id, question_id)
answers (answer_id, question_id)
Всякий раз, когда какая-либо строка удаляется из question
таблицы, соответствующие данные также должны быть удалены из option
и answer
таблиц.
Я пытаюсь создать триггер с помощью
CREATE TRIGGER question_delete
BEFORE DELETE ON questions
FOR EACH ROW BEGIN
DELETE from options WHERE question_id= OLD.question_id AND
DELETE from answers WHERE question_id= OLD.question_id;
END
Я получаю сообщение об ошибке. Должен ли я создать два разных триггера для выполнения этой операции или требуются какие-либо изменения в приведенном выше заявлении?
Пожалуйста, дайте мне знать.
Спасибо Nidhi
Комментарии:
1. КАКУЮ ошибку вы получаете?? Это действительно не помогает нам узнать, что вы получаете «ошибку», но вы не говорите нам, что это такое!!
Ответ №1:
Удалите оператор AND
after первого DELETE
:
DELETE from options WHERE question_id = OLD.question_id;
DELETE from answers WHERE question_id = OLD.question_id;
Ответ №2:
попробуйте заменить «И» на «;» и если вы все равно получите ошибку, опубликуйте текст ошибки здесь