一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|數(shù)據(jù)庫技術(shù)|

服務(wù)器之家 - 數(shù)據(jù)庫 - Mysql - MySQL錯誤TIMESTAMP column with CURRENT_TIMESTAMP的解決方法

MySQL錯誤TIMESTAMP column with CURRENT_TIMESTAMP的解決方法

2020-04-02 15:52MYSQL教程網(wǎng) Mysql

這篇文章主要介紹了MySQL錯誤TIMESTAMP column with CURRENT_TIMESTAMP的解決方法,需要的朋友可以參考下

在部署程序時遇到的一個問題,MySQL定義舉例如下:

復(fù)制代碼 代碼如下:

CREATE TABLE `example` (
  `id` INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
  `created` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `lastUpdated` TIMESTAMP NOT NULL ON UPDATE CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB;


這段SQL是我從項目中摘取出來的,在測試機(jī)器上一切正常,但是部署到生產(chǎn)機(jī)器上MySQL報錯:

復(fù)制代碼 代碼如下:

ERROR 1293 (HY000): Incorrect table definition; there can be only one TIMESTAMP column with CURRENT_TIMESTAMP in DEFAULT or ON UPDATE clause.

 

意思是只能有一個帶CURRENT_TIMESTAMP的timestamp列存在,但是為什么本地測試卻沒有任何問題呢,本地測試的機(jī)器安裝的MySQL版本5.6.13,而生產(chǎn)機(jī)器上安裝的卻是5.5版本,搜索網(wǎng)絡(luò)后得知這兩種版本之間對于timestamp處理的區(qū)別在于:


在MySQL 5.5文檔有這么一段話:

復(fù)制代碼 代碼如下:

One TIMESTAMP column in a table can have the current timestamp as the default value for initializing the column, as the auto-update value, or both. It is not possible to have the current timestamp be the default value for one column and the auto-update value for another column.


而在MySQL 5.6.5做出了以下改變:

復(fù)制代碼 代碼如下:

Previously, at most one TIMESTAMP column per table could be automatically initialized or updated to the current date and time. This restriction has been lifted. Any TIMESTAMP column definition can have any combination of DEFAULT CURRENT_TIMESTAMP and ON UPDATE CURRENT_TIMESTAMP clauses. In addition, these clauses now can be used with DATETIME column definitions. For more information, see Automatic Initialization and Updating for TIMESTAMP and DATETIME.


根據(jù)網(wǎng)上的解決方案,可以使用觸發(fā)器來替代一下:

復(fù)制代碼 代碼如下:

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 ;

 

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 日韩精品福利视频一区二区三区 | 海角社区在线视频 | 99精品免费观看 | 日本高清中文字幕视频在线 | 五月色综合婷婷综合俺来也 | 天天噜| 精品91一区二区三区 | 日韩成片 | 日本精品一二三区 | 国产精品欧美亚洲韩国日本 | 国产麻豆传媒在线观看 | 青草久久精品亚洲综合专区 | 国产精品第 | 国产精品成 | 好男人影视社区www在线观看 | avidolz中文版| 国产精品嫩草影院在线看 | 给我一个黄色网址 | 9久热久爱免费精品视频在线观看 | 日本伊人久久 | 隔壁老王国产在线精品 | 九九九精品视频 | 成人精品亚洲 | 97午夜视频| 四虎精品免费国产成人 | 日本色淫| 小寡妇水真多好紧 | 国产欧美日韩在线不卡第一页 | 女人与zzzooooxxx | 男人的j进入女人的j免费 | 王晶经典三级 | 亚洲精品久久久打桩机 | 日韩在线1 | 国产成人免费片在线视频观看 | 扒开腚眼子视频大全 | 无码精品AV久久久奶水 | 毛片在线免费视频 | 日本公与妇中文在线 | 国色天香论坛社区在线视频 | 亚洲免费黄色网 | 免费看黄色一级 |