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

服務器之家:專注于服務器技術及軟件下載分享
分類導航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|數據庫技術|

服務器之家 - 數據庫 - Mysql - MySQL錯誤TIMESTAMP column with CURRENT_TIMESTAMP的解決方法

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

2020-04-02 15:52MYSQL教程網 Mysql

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

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

復制代碼 代碼如下:

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是我從項目中摘取出來的,在測試機器上一切正常,但是部署到生產機器上MySQL報錯:

復制代碼 代碼如下:

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列存在,但是為什么本地測試卻沒有任何問題呢,本地測試的機器安裝的MySQL版本5.6.13,而生產機器上安裝的卻是5.5版本,搜索網絡后得知這兩種版本之間對于timestamp處理的區別在于:


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

復制代碼 代碼如下:

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做出了以下改變:

復制代碼 代碼如下:

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.


根據網上的解決方案,可以使用觸發器來替代一下:

復制代碼 代碼如下:

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 ;

 

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国产精品xxxav免费视频 | 91九色在线视频 | 国产在线播放一区 | 日韩高清一区二区三区不卡 | 日本爽p大片免费观看 | 奇米影视7777久久精品 | 国产无套在线播放 | 五月天婷婷网亚洲综合在线 | 国产毛片在线高清视频 | 欧美视频一 | 国产精品一区二区不卡的视频 | 情缘免费观看完整版 | 精品免费视在线视频观看 | 果冻传媒mv在线观看入口免费 | 亚洲午夜久久久 | 久久视频在线视频观看精品15 | 国产一级在线观看 | 精品国产国产精2020久久日 | 欧美日韩成人在线 | 午夜私人影院在线观看 | 亚洲 欧美 国产 在线 日韩 | 奇米影视久久777中文字幕 | www亚洲国产 | 国产婷婷成人久久av免费高清 | 韩国久播影院理论片不卡影院 | 17岁韩国在线观看免费1 | 99撸| 亚洲精品6久久久久中文字幕 | 亚洲欧美在线免费 | 成人午夜影院在线观看 | 我的家教老师在线观看 | 国色天香高清版 | 久久99国产综合精品AV蜜桃 | 粉嫩尤物在线456 | 日本午夜色 | 欧美xxx000喷水 | 国产亚洲视频在线 | 日本暖暖在线视频 | 亚洲激情网站 | 美女扒开胸罩露出奶了无遮挡免费 | 三上悠亚精品专区久久 |