mysql中時間字段設置遇到的問題
mysql中時間字段設置問題
案例【一】
今天寫數(shù)據(jù)庫腳本,創(chuàng)建數(shù)據(jù)庫時,有一個字段是datetime類型的,想要設置默認時間為當前時間,
于是有了如下代碼:
registerDate datetime NOT NULL DEFAULT NOW() COMMENT '注冊時間'
執(zhí)行之后報錯
Error Code: 1067. Invalid default value for 'registerDate'
PS:在mysql 5.6中,這種寫法OK,之前的版本不支持這樣的寫法。
案例【二】
mysql一般在設置時間的時候也常用時間戳。timestamp類型
在執(zhí)行mysql數(shù)據(jù)庫時報錯
CREATE TABLE `advert_schedule_time` ( `advert_id` int(11) NOT NULL DEFAULT '0' COMMENT '廣告id', `stime` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' COMMENT '開始時間', `etime` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' COMMENT '結(jié)束時間', `times` int(11) NOT NULL DEFAULT '0' COMMENT '投放次數(shù)', UNIQUE KEY `adverttime` (`advert_id`,`stime`,`etime`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT '廣告時間排期表';
首先用下面的命令看下sql_mode
show variables like 'sql_mode';
如果查詢的結(jié)果如下:
ONLY_FULL_GROUP_BY, STRICT_TRANS_TABLES, NO_ZERO_IN_DATE, NO_ZERO_DATE, ERROR_FOR_DIVISION_BY_ZERO, NO_AUTO_CREATE_USER, NO_ENGINE_SUBSTITUTION
如果結(jié)果中含有NO_ZERO_IN_DATE, NO_ZERO_DATE
則執(zhí)行下面的命令:
set session sql_mode='ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'
mysql時間類型字段自動更新設置
alter table user modify column update_time datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT ‘更新時間'; alter table 表名 modify column 字段名 類型 NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT ‘注釋';
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
mysql中使用replace替換某字段的部分內(nèi)容
這篇文章主要介紹了mysql中使用replace替換某字段的部分內(nèi)容的方法,需要的朋友可以參考下2014-11-11mysql全連接和oracle全連接查詢、區(qū)別及說明
這篇文章主要介紹了mysql全連接和oracle全連接查詢、區(qū)別及說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-03-03mysql使用GROUP BY分組實現(xiàn)取前N條記錄的方法
這篇文章主要介紹了mysql使用GROUP BY分組實現(xiàn)取前N條記錄的方法,結(jié)合實例形式較為詳細的分析了mysql中GROUP BY分組的相關(guān)使用技巧,需要的朋友可以參考下2016-06-06Ubuntu與windows雙系統(tǒng)下共用MySQL數(shù)據(jù)庫的方法
ubuntu系統(tǒng)和windows系統(tǒng)雙系統(tǒng)共用是用戶喜歡使用的方式之一,而MySQL是一個小型關(guān)系型數(shù)據(jù)庫管理系統(tǒng),在Windows平臺中常以WAMP方式搭配使用,在Linux平臺中常以LAMP組合形式出現(xiàn),下面的方法可以使得Ubuntu平臺共用Windows平臺中的MySQL數(shù)據(jù)庫2012-01-01解析MSSQL跨數(shù)據(jù)庫查詢的實現(xiàn)方法
本篇文章是對MSSQL跨數(shù)據(jù)庫查詢的方法進行了詳細的分析介紹,需要的朋友參考下2013-06-06