#mysql #triggers
#mysql #триггеры
Вопрос:
Я пытаюсь создать триггер, который не должен разрешать вставку для тех journey_dates, которые меньше текущей даты.
Комментарии:
1. mysql> создать триггер before_flysafeairways_insert перед вставкой в FlySafeAirways -> для каждой строки -> начать -> объявить фиктивную дату; -> если new.journey_date < дата (now()), затем -> выберите «Недопустимая дата» в фиктивный из резервирования, где reservation.fid=new.fid; -> конецесли; -> end; // ОШИБКА 1146 (42S02): таблица ‘FlySafeAirways. FlySafeAirways не существует
2. ^ Пожалуйста, скопируйте этот код в вопрос, удалите комментарий, удалите изображение и добавьте любой дополнительный код или журнал консоли в виде текста, а не растрового изображения. Это отличный навык для любого сайта вопросов и ответов, к которому стоит привыкнуть — программистам не нравится код в виде изображений, поскольку они не могут копировать и вставлять то, что вы делаете.
3. сначала я пытался вставить код, но он говорил «добавить больше контекста», и я не понял, что это было, и, наконец, загрузил изображение @halfer
4. Причиной ваших отрицательных голосов может быть то, что вы загрузили изображение вместо кода / текста. Пожалуйста, замените его текстом, скопированным с вашей консоли, даже если вопрос решен. Спасибо.
Ответ №1:
Существует разница между таблицей и схемой / базой данных для большинства RDB.
Похоже, вы используете FlySafeAirways в качестве имени базы данных, а не имени таблицы.
Выясните, каково ваше имя таблицы. Если это «резервирование», то вы должны использовать FlySafeAirways.reservation
вместо just FlySafeAirways
.
Ответ №2:
Создайте вторую базу данных. Создайте таблицу в этом. Импортируйте все в эту базу данных из первой базы данных. Теперь удалите первую базу данных и переименуйте вторую базу данных в имя первой базы данных.