Я использую mysqlimport для массовой вставки в таблицу (замена дубликатов первичных ключей). Несколько таблиц имеют столбцы даты и времени с записями, содержащими значения «0000-00-00». То, что я хотел бы, это триггер, который обнаруживает эти значения «0000-00-00» и заменяет на «1950-01-01», в противном случае сохранить значение datetime в записи (то есть, когда это не «0000-00-00») .
Я пробовал следующее:
CREATE TRIGGER set_datetime BEFORE INSERT ON tbl
FOR EACH ROW
CASE
WHEN date_col='0000-00-00' THEN SET date_col='1950-01-01';
END CASE
Спасибо.
EDIT
Попытка обновления:
CREATE TRIGGER set_datetime BEFORE INSERT ON tbl
FOR EACH ROW
IF (NEW.date_col='0000-00-00') THEN
SET NEW.date_col='1950-01-01';
END IF;
По-прежнему возникает ошибка в части SET.
РЕДАКТИРОВАТЬ 2
РАБОЧАЯ:
DELIMITER $$
CREATE TRIGGER insert_check BEFORE INSERT ON ar
FOR EACH ROW
BEGIN
IF NEW.delivery_date='0000-00-00' THEN
SET NEW.delivery_date='1950-01-01';
END IF;
END; $$
DELIMITER ;