0

我有下表:

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' 填充 'fecha_fin' (持续时间以小时为单位)?

4

1 回答 1

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 ;
于 2013-07-04T14:58:19.910 回答