Mysql 建表時報錯 invalid ON UPDATE clause for 'create_date' column


這個錯誤是由於mysql 版本問題導致的

`create_date` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '創建時間',
  `update_date` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '更新時間',

這是建標語句。MySQL 5.5 每個表只允許一個列的默認值根據時間戳生成時間

可以使用觸發器來替代一下:

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 ;  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM