在插入时创建触发器

时间:2013-07-04 14:57:02

标签: mysql triggers

我有下表:

CREATE TABLE `loteria_loterias` (
 `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
 `fecha_ini` datetime NOT NULL,
 `fecha_fin` datetime DEFAULT NULL,
 `ganador` varchar(60) CHARACTER SET utf8 DEFAULT NULL,
 `coste` int(11) NOT NULL,
 `premium` int(11) NOT NULL,
 `duracion` int(11) NOT NULL,
 PRIMARY KEY (`id`),
 KEY `ganador` (`ganador`),
 CONSTRAINT `loteria_loterias_ibfk_1` FOREIGN KEY (`ganador`) REFERENCES `tegm_users` (`user_login`)
) ENGINE=InnoDB AUTO_INCREMENT=18 DEFAULT CHARSET=latin1

在每个插页中创建一个用'fecha_ini + duracion'(duracion以小时为单位)填充'fecha_fin'的触发器是否可行?

1 个答案:

答案 0 :(得分:2)

delimiter |
CREATE TRIGGER `some_name` BEFORE INSERT ON loteria_loterias
FOR EACH ROW BEGIN
   SET NEW.fecha_fin = NEW.fecha_ini + interval NEW.duracion hour;
END;
| 
delimiter ;