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导数据到低版本出现的问题
日期类型报错
解决方式:
将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