Invalid ON UPDATE clause for 'create_date' column

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

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

日期类型报错

扫描二维码关注公众号,回复: 6971594 查看本文章

解决方式:

将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

猜你喜欢

转载自www.cnblogs.com/hiit/p/11313872.html