亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

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

在部署程序時(shí)遇到的一個(gè)問(wèn)題,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)目中摘取出來(lái)的,在測(cè)試機(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列存在,但是為什么本地測(cè)試卻沒(méi)有任何問(wèn)題呢,本地測(cè)試的機(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ā)器來(lái)替代一下:
復(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)文章

  • MySQL使用distinct去掉查詢結(jié)果重復(fù)的問(wèn)題

    MySQL使用distinct去掉查詢結(jié)果重復(fù)的問(wèn)題

    這篇文章主要介紹了MySQL使用distinct去掉查詢結(jié)果重復(fù)的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • MySQL存儲(chǔ)函數(shù)以及觸發(fā)器詳解

    MySQL存儲(chǔ)函數(shù)以及觸發(fā)器詳解

    這篇文章詳細(xì)給大家介紹了MySQL-SQL存儲(chǔ)函數(shù)以及觸發(fā)器,文中有詳細(xì)的代碼示例,對(duì)我們學(xué)習(xí)MySQL有一定的幫助,感興趣的朋友可以參考閱讀下
    2023-06-06
  • MySQL遞歸sql語(yǔ)句WITH表達(dá)式實(shí)現(xiàn)方法代碼

    MySQL遞歸sql語(yǔ)句WITH表達(dá)式實(shí)現(xiàn)方法代碼

    SQL遞歸查詢語(yǔ)句是指通過(guò)遞歸方式對(duì)數(shù)據(jù)進(jìn)行查詢的語(yǔ)句,下面這篇文章主要給大家介紹了關(guān)于MySQL遞歸sql語(yǔ)句WITH表達(dá)式實(shí)現(xiàn)的相關(guān)資料,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-01-01
  • JDBC鏈接MySQL8的注意事項(xiàng)及說(shuō)明

    JDBC鏈接MySQL8的注意事項(xiàng)及說(shuō)明

    這篇文章主要介紹了JDBC鏈接MySQL8的注意事項(xiàng)及說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-09-09
  • Innodb存儲(chǔ)引擎中的后臺(tái)線程詳解

    Innodb存儲(chǔ)引擎中的后臺(tái)線程詳解

    后臺(tái)線程的主要作用是負(fù)責(zé)刷新內(nèi)存池中的數(shù)據(jù),保證緩存中的內(nèi)存緩存的是最近的數(shù)據(jù),下面這篇文章主要給大家介紹了關(guān)于Innodb存儲(chǔ)引擎中后臺(tái)線程的相關(guān)資料,需要的朋友可以參考下
    2022-04-04
  • mysql命令行腳本執(zhí)行操作示例

    mysql命令行腳本執(zhí)行操作示例

    這篇文章主要介紹了mysql命令行腳本執(zhí)行操作,結(jié)合實(shí)例形式分析了MySQL命令行操作相關(guān)的登入登出、創(chuàng)建刪除、增刪改查等操作技巧,需要的朋友可以參考下
    2019-11-11
  • MySQL服務(wù)自動(dòng)停止的解決方法

    MySQL服務(wù)自動(dòng)停止的解決方法

    這篇文章主要給大家介紹了MySQL服務(wù)自動(dòng)停止的解決方法,文中給出了詳細(xì)的解決過(guò)程,對(duì)大家具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起看看吧。
    2017-06-06
  • MySQL對(duì)中文進(jìn)行排序詳解及實(shí)例

    MySQL對(duì)中文進(jìn)行排序詳解及實(shí)例

    這篇文章主要介紹了MySQL對(duì)中文進(jìn)行排序詳解及實(shí)例的相關(guān)資料,需要的朋友可以參考下
    2017-05-05
  • mysql臟頁(yè)是什么

    mysql臟頁(yè)是什么

    本文主要介紹了什么是mysql臟頁(yè),為什么會(huì)出現(xiàn)臟頁(yè),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-07-07
  • MySQL5.7 group by新特性報(bào)錯(cuò)1055的解決辦法

    MySQL5.7 group by新特性報(bào)錯(cuò)1055的解決辦法

    項(xiàng)目中本來(lái)使用的是mysql5.6進(jìn)行開(kāi)發(fā),切換到5.7之后,突然發(fā)現(xiàn)原來(lái)的一些sql運(yùn)行都報(bào)錯(cuò),錯(cuò)誤編碼1055,錯(cuò)誤信息和sql_mode中的“only_full_group_by“有關(guān)。下面小編給大家分享下解決辦法
    2016-12-12

最新評(píng)論