У меня есть эта таблица бронирования, которая имеет RESERVATION_ID , ROOM_NUM, Date_Start , Date_End and cost columns
. то, что я хочу сделать, это вставить все столбцы, кроме стоимости, и автоматически заполнить их.Обновление столбца MySQL с помощью триггера
delimiter //
CREATE TRIGGER upd_check before INSERT ON reservation
FOR EACH ROW
BEGIN
IF NEW.RESERVATION_COST = NULL THEN
SET NEW.RESERVATION_COST = 'timestampdiff(day, NEW.RESERVATION_STARTD, NEW.RESERVATION_ENDD)*70';
END IF;
END;//
delimiter ;
Я написал эту trigger
, чтобы сделать это, но всякий раз, когда я нажимаю Применить, чтобы вставить все ничего не вставляется в RESERVATION_COST
колонку.
Почему?
Измените, если условие как '' IF NEW.RESERVATION_COST NULL THEN'' и проверьте, не имеет ли он никакого эффекта! ?? –
Не используйте = null в операторах SQL. Использовать значение null. – Tim3880
Спасибо всем: метод D @ Tim3880 работал –