Как я могу создать триггер в базе данных sqlite?

#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:

попробуйте заменить «И» на «;» и если вы все равно получите ошибку, опубликуйте текст ошибки здесь