首页 > 技术文章 > Invalid ON UPDATE clause for 'create_date' column

hiit 2019-08-07 10:45 原文

Invalid ON UPDATE clause for 'create_date' column

1.

高版本的mysql导数据到低版本出现的问题

日期类型报错

解决方式:

将datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT  中的  ON UPDATE CURRENT_TIMESTAMP删除

  

2.

这是因为mysql版本低导致的,只有5.5的会有这个问题,5.6不会有这个问题。

 

可以使用触发器来替代一下:

CREATE TABLE `example` (
  `id` INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
  `created` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `lastUpdated` DATETIME NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB;
DROP TRIGGER IF EXISTS `update_example_trigger`;
DELIMITER //
CREATE TRIGGER `update_example_trigger` BEFORE UPDATE ON `example`
 FOR EACH ROW SET NEW.`lastUpdated` = NOW()
//
DELIMITER ;

  3.升级mysql

推荐阅读