我正在使用MYSQL服务器版本:5.5.16并且建立我的第一个触发器非常困难。希望在更新表时更新基于表中其他值的变量。下面的代码生成语法错误...#1193 - 未知的系统变量“状态”语法错误定义MYSQL触发器
CREATE TABLE `peakstat` (
`peakuid` int(11) NOT NULL AUTO_INCREMENT,
`status` varchar(20) ,
`scheddate` date ,
`summitdate` date ,
PRIMARY KEY (`peakuid`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=7 ;
,并建立了扳机......
delimiter $$
drop TRIGGER if exists addstatus $$
CREATE TRIGGER addstatus
AFTER UPDATE ON peakstat
FOR EACH ROW
BEGIN
IF peakstat.summitdate > 0 THEN
set peakstat.status = "CLIMBED";
ELSEIF peakstat.scheddate > NOW() THEN
set peakstat.status = "SCHEDULED";
END IF;
END;$$
DELIMITER ;
包裹带回蜱' – diEcho
澄清:的[MySQL的'peakstat'.'status' – LeleDumbo
可能重复插入后和更新后触发](http://stackoverflow.com/questions/843031/mysql-after-insert-and-after-update-trigger) –