Mysql TIMESTAMP触发器不起作用

时间:2016-04-07 11:16:49

标签: mysql timestamp

我做错了什么?

我有table1 在INSERT数据到table1时,我有触发器:

BEGIN
  INSERT INTO table2 (`c_id`, `date`, `product_id`, `price`)
  VALUES (
           NEW.c_id,
           NEW.date = CURRENT_TIMESTAMP,
           NEW.product_id,
           NEW.price
        ); END


CREATE TABLE `table2` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `c_id` int(11) NOT NULL,
  `date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  `product_id` int(11) NOT NULL,
  `price` decimal(9,2) DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `c_data` (`c_id`,`date`,`product_id`)
) ENGINE=MyISAM AUTO_INCREMENT=30 DEFAULT CHARSET=latin1;

结果,我得到了00:00:00的日期

MySQL版本5.6.28

1 个答案:

答案 0 :(得分:0)

从插入查询中删除dateNEW.date = CURRENT_TIMESTAMP。默认情况下, mysql 会为其设置date

INSERT INTO table2 (`c_id`, `product_id`, `price`)
  VALUES (
           NEW.c_id,
           NEW.product_id,
           NEW.price
        );