Если я обновляю человека пустым, который ничего не вставляет в Аудит, но если я обновляю человека данными, именем и т. д., то если я делаю файл INSERT
. У меня есть таблица бронирований с расписаниями, когда кто-то делает бронирование, я обновляю поле человека, связанное с расписанием, и это запускает trigger
тот, который оставляет запись о том, кто зарегистрировался, когда и т. д., но, в свою очередь, у меня есть событие, которое каждый день в 00:00:00 update
все поля людей пусты, так что на следующий день это можно решить снова, в этом проблема, update
резервный в порядке, когда событие выполняется trigger
, оно берет 24 пустых обновления и вставляет 24 пустые данные в таблице аудита
Это код trigger
, который у меня сейчас есть
DELIMITER $$
CREATE TRIGGER Pc_Auditoria
AFTER UPDATE ON pcTotal
FOR EACH ROW
INSERT INTO auditoria (pc, personaAnterior, horario, persona, fecha_mod)
VALUES (NEW.pc, OLD.persona, NEW.horario, NEW.persona, NOW());
DELIMITER ;
Когда оговорюсь: Запись вставлена нормально в аудит: Как проходит аудит при выполнении события:
Вы можете попробовать следующее:
Где
<tu condición aca>
он удовлетворяет проверкам, которые, по вашему мнению, соответствуют. Как вы упомянули в своем вопросе, если поле пусто, его не следует обновлять. Я предполагаю, что под пустым вы подразумеваетеNULL
, поэтому условие будет примерно таким:Судя по вашим комментариям:
coordinador
.pcTotal
.Имея это в виду, ваш триггер будет выглядеть так:
Обратите внимание на использование функции
COALESCE
для проверки тогоNEW.coordinador
,NULL
возвращает ли значение пустую строку''
.