1. 程式人生 > >mysql 遇到了Invalid default value for 'created_at'的錯誤

mysql 遇到了Invalid default value for 'created_at'的錯誤

在建立表的時候遇到了Invalid default value for 'created_at'的錯誤,不知道什麼原因造成的。

CREATE TABLE `test` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `title` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
  `created_at` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
  `updated_at` timestamp NOT NULL DEFAULT '1970-01-01 00:00:00',
  PRIMARY KEY
(`id`) ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

預設資料使用“0000-00-00 00:00:00”報錯,使用“1970-01-01 00:00:00”也同樣報錯。

解決方法

首先用下面的命令看下sql_mode

show variables like 'sql_mode';

如果查詢的結果如下:

ONLY_FULL_GROUP_BYSTRICT_TRANS_TABLES, NO_ZERO_IN_DATE, NO_ZERO_DATE, ERROR_FOR_DIVISION_BY_ZERO, NO_AUTO_CREATE_USER, NO_ENGINE_SUBSTITUTION

如果結果中含有NO_ZERO_IN_DATE, NO_ZERO_DATE
則執行下面的命令:

set session sql_mode='ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZE

相關推薦

mysql 遇到Invalid default value for 'created_at'的錯誤

在建立表的時候遇到了Invalid default value for 'created_at'的錯誤,不知道什麼原因造成的。 CREATE TABLE `test` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT,

mysql 執行 Invalid default value for 'created_at'

方案1. 修改預設的 Mysql 配置sudo vi /etc/mysql/my.cnf在 [mysqld] 區域新增:sql_mode="ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO

Navicat連線mysql時報錯 Invalid default value for ‘customerID’

  報錯: 查了一下是customerID的值不對的意思。那像其他的一樣改成null吧 取消之後卻是:  因為它是主鍵。。不能空的   其實呢  navicat有sql預覽 可以看到我們最開始本來想複製表名

Mysql ERROR 1067: Invalid default value for ‘date’ 解決

Mysql ERROR 1067: Invalid default value for ‘date’ 解決 首先簡單說下原因: SQL_MODE 設定值的問題 windows下安裝的wamp 3.06 64bit版本,預設沒有設定這個值,坑叔呀 解決方式 以window中為例

MySQL 5.7 Invalid default value for 'CREATE_TIME' 報錯的解決方法

由於資料庫的升級,今天在匯入從MySQL 5.6匯出來的SQL檔案時報錯: mysql> source backup.sql ERROR 1067 (42000): Invalid default value for 'CREATE_TIME'

Invalid default value for 'UPDATE_TIME' " 錯誤提示的解決辦法

問題: 由於 tmp_wrh_1 的欄位UPDATE_TIME 的欄位型別是 timestamp ,預設值是:'0000-00-00 00:00:00' 即:`UPDATE_TIME` timestamp NOT NULL DEFAULT '0000-00-00 00:0

mysql建立table時出錯 ERROR 1067 (42000): Invalid default value for ' '

今天在建MySQL的table時遇到一個問題,大致如下: 我在建表時default值為中文,報錯資訊是ERROR 1067 (42000): Invalid default value for ' ' 後來在網上找到了解決方法: SET NAMES GBK; 並

【FAQ】mysql 初始化 timestamp,提示 Invalid default value for 'xxx'

原來是 Laravel 4.2 和 Mysql 5.7 搭配出了問題,5.7 裡 Mysql 不允許時間戳的值為 0 。 解決 方案1. 修改預設的 Mysql 配置 sudo vi /etc/mysql/my.cnf 在 [mysqld] 區域新增: s

mysqlInvalid default value for 'stime'問題

在執行mysql資料庫時報錯 CREATE TABLE `advert_schedule_time` ( `advert_id` int(11) NOT NULL DEFAULT '0' COMMENT '廣告id', `stime` timestamp NOT NULL DEFAULT '0000-

MySQL:ERROR 1067 (42000): Invalid default value for 'end_time'

本文轉自這裡     https://www.cnblogs.com/jinjiyese153/p/7300510.html2.錯誤分析  表中的第一個TIMESTAMP列(如果未宣告為NULL或顯示DEFAULT或ON UPDATE子句)將自動分配DEFAULT CURRE

Invalid default value for 'time'

ans 去掉 回話 進行 qss -a eat -s ini 現象:MySQL5.7版本之後,date, datetime類型設置默認值"0000-00-00",出現異常:Invalid default value for ‘time‘ 原因:在命令行窗口查看當前的sql_

ERROR 1067 (42000): Invalid default value for 'created_time'【轉】

參數 感覺 執行 博客 出錯 https des mod www. 執行表增加字段語句報錯 mysql> ALTER TABLE ha_question ADD COLUMN question_number INT; ERROR 1067 (42000): I

ERROR 1067 (42000): Invalid default value for 'start_time'

資料庫報錯   ERROR 1067 (42000): Invalid default value for 'start_time' 是因為資料庫的配置有問題: 可以看到  NO_ZERO_IN_DATE,NO_ZERO_DATE  ,日期設定不

Invalid default value for 'start_time'

在mysql-5.7中,建表語句如下: CREATE TABLE seckilltemp2( `stock_id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '商品庫存id', `name` VARCHAR(120) NOT NULL COMMENT '商

[Err] 1067 - Invalid default value for '欄位名'

問題 :將sql檔案匯入資料庫中出現異常‘ERROR 1067: Invalid default value for 欄位’ 原因:匯出的sql檔案中有一張表中的欄位預設值為“0000-00-00 00:00:00”, 根本原因是 SQL_MODE 設定值的問題 解決方法

匯入資料庫時報錯1067 – Invalid default value for ‘欄位名’

Invalid default value for 'comment_date' mysql> show variables like 'sql_mode'; +---------------+--------------------------------------

資料傳輸或匯入是報錯:Invalid default value for 'date'

在執行mysql資料庫時報錯 CREATE TABLE `advert_schedule_time` ( `advert_id` int(11) NOT NULL DEFAULT '0' COMM

ERROR 1067 (42000): Invalid default value for 'birth'

create table test3( star varchar(20) not null default '', birth date not null default '0000-00-00' )engine myisam charset utf8; 錯誤: ERROR 1067

ERROR 1067 (42000): Invalid default value for 'add_time'

建立都不行,所以猜測應該是系統中某個引數的設定問題。看來關於date和time相關的引數沒有什麼異常。 聯想到限制能限制的sql的只有sql_mode。果然:NO_ZERO_IN_DATE,NO_ZERO_DATE這兩個引數限制時間不能為0. [emai

安裝Magento報錯:SQLSTATE[42000]: Syntax error or access violation: 1067 Invalid default value for 'perio

在安裝Magento ver 1.6.1.0的時候,每逢到設定好資料庫,要繼續下一步的時候,就會進入下面的一個錯誤頁面,再怎麼搞也過不去。 There has been an error processing your request Error in file: "C