最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

MySQL錯(cuò)誤TIMESTAMP column with CURRENT_TIMESTAMP的解決方法

 更新時(shí)間:2014年06月10日 09:00:42   作者:  
這篇文章主要介紹了MySQL錯(cuò)誤TIMESTAMP column with CURRENT_TIMESTAMP的解決方法,需要的朋友可以參考下

在部署程序時(shí)遇到的一個(gè)問題,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是我從項(xiàng)目中摘取出來的,在測試機(jī)器上一切正常,但是部署到生產(chǎn)機(jī)器上MySQL報(bào)錯(cuò):
復(fù)制代碼 代碼如下:

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

意思是只能有一個(gè)帶CURRENT_TIMESTAMP的timestamp列存在,但是為什么本地測試卻沒有任何問題呢,本地測試的機(jī)器安裝的MySQL版本5.6.13,而生產(chǎn)機(jī)器上安裝的卻是5.5版本,搜索網(wǎng)絡(luò)后得知這兩種版本之間對(duì)于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 ;

相關(guān)文章

最新評(píng)論

广平县| 乌恰县| 监利县| 会东县| 青河县| 虎林市| 府谷县| 彭州市| 永福县| 洪雅县| 周宁县| 黄平县| 崇明县| 祥云县| 汝南县| 华亭县| 鹰潭市| 塔河县| 尼木县| 彭山县| 玉林市| 宜宾市| 石阡县| 遵义县| 六枝特区| 芜湖县| 新巴尔虎左旗| 漳浦县| 互助| 庄浪县| 桐城市| 连城县| 漯河市| 马公市| 苏州市| 阳高县| 锦屏县| 纳雍县| 盈江县| 攀枝花市| 疏附县|