您的位置:首页 > 数据库 > MySQL

Mysql 建表时报错 invalid ON UPDATE clause for 'start_time' column

2019-08-23 14:36 253 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/miracleoa/article/details/100033771

文章目录

一、错误源码:

DROP TABLE IF EXISTS `tb_promotion`;
CREATE TABLE `tb_promotion` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '促销活动id',
`type` enum('0','1','2','3') NOT NULL DEFAULT '0' COMMENT '活动类型,目前可选的有:0没有促销,1满减,2满额送抵扣券,3秒杀',
`description` varchar(255) NOT NULL DEFAULT '' COMMENT '促销活动说明',
`condition` bigint(20) DEFAULT '0' COMMENT '满减条件,秒杀的话设置为0',
`reduction` bigint(20) DEFAULT '0' COMMENT '满减后的折扣金额',
`seckill_price` bigint(20) DEFAULT '0' COMMENT '秒杀价格,如果是秒杀活动,需要填写',
`coupon_id` bigint(20) DEFAULT '0' COMMENT '满额送券,关联的优惠券id',
`targets` varchar(255) NOT NULL DEFAULT '' COMMENT '作用的目标sku的id拼接,以'',''拼接',
`start_time` datetime NOT NULL ON UPDATE CURRENT_TIMESTAMP,
`end_time` datetime NOT NULL ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

二、错误原因,及解决办法:

  • 由于低版本的mysql不支持两个
    TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
    ,因此采用触发器的方式来解决这个问题。以下是解决后的源码:
CREATE TABLE `tb_promotion` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '促销活动id',
`type` enum('0','1','2','3') NOT NULL DEFAULT '0' COMMENT '活动类型,目前可选的有:0没有促销,1满减,2满额送抵扣券,3秒杀',
`description` varchar(255) NOT NULL DEFAULT '' COMMENT '促销活动说明',
`condition` bigint(20) DEFAULT '0' COMMENT '满减条件,秒杀的话设置为0',
`reduction` bigint(20) DEFAULT '0' COMMENT '满减后的折扣金额',
`seckill_price` bigint(20) DEFAULT '0' COMMENT '秒杀价格,如果是秒杀活动,需要填写',
`coupon_id` bigint(20) DEFAULT '0' COMMENT '满额送券,关联的优惠券id',
`targets` varchar(255) NOT NULL DEFAULT '' COMMENT '作用的目标sku的id拼接,以'',''拼接',
`start_time` TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
`end_time` datetime not null,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
drop TRIGGER if EXISTS 'update_trigger';
delimiter
CREATE TRIGGER 'update_trigger' BEFORE UPDATE on 'tb_order_status'
for each row set new.'end_time' = now()
delimiter;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐