1. 程式人生 > >mysql中Invalid default value for 'stime'問題

mysql中Invalid 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-00-00 00:00:00' COMMENT '開始時間',
  `etime` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' COMMENT '結束時間',
  `times` int(11) NOT NULL DEFAULT '0' COMMENT '投放次數',
  UNIQUE KEY `adverttime` (`advert_id`,`stime`,`etime`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT '廣告時間排期表';

首先用下面的命令看下sql_mode

show variables like 'sql_mode';
如果查詢的結果如下:

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
如果結果中含有NO_ZERO_IN_DATE, NO_ZERO_DATE則執行下面的命令:

set session sql_mode='ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'

相關推薦

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 執行 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

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

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 遇到了Invalid default value for 'created_at'的錯誤

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

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'

關於在SQL語句記錄新增時間和修改時間的簡單用法:invalid default value for create_time

最近看到別人的專案中,資料庫中加入了建立時間和修改時間,感覺這個挺實用,就想建立一個demo試試怎麼用,查詢之後發現修改時間使用的是timestamp欄位格式,資料庫會根據當前時間,自動處理,不需要在SQL語句中設定,建立時間為datetime,預設值是CURR

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

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

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

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