mysql5.7 创建新表时提示时间戳非法
# 背景
mysql版本5.7.8,需要创建新表,研发提供的sql文件,执行后报错如下:
ERROR (): Invalid default value for 'deleted_at'
就猜测到时因为5.7版本的mysql默认的时间戳不允许输入0000-00-00 00:00:00这种格式,之前碰到过类似问题,需要修改配置
查看了研发提供的sql文件,果真如此:
‘create_at` TIMESTAMP NOT NULL DEFAULT '0000-00-00 00:00:00' COMMENT '注册时间',
# 解决
1. 不希望修改配置文件,通过修改sql_model就可以了的,这种对新建表生效
SELECT @@sql_mode;
可查看sql_model,其中NO_ZERO_IN_DATE,NO_ZERO_DATE就是导致5.7+版本无法输入0的时间戳
NO_ZERO_IN_DATE:在严格模式下,不允许日期和月份为零
NO_ZERO_DATE:设置该值,mysql数据库不允许插入零日期,插入零日期会抛出错误而不是警告。
2. 修改sql_model
SET @@sql_mode='ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'
去掉上面两个即可
3. 执行原来的sql文件,成功
mysql5.7 创建新表时提示时间戳非法的更多相关文章
- 关于oracle中创建新表时将我们要用的表的结构和数据都复制过去
今天在oracle中遇到了一个问题,就是给我查询出来了一张表的数据,只有部分的字段,让我将这张表的结构和数据放到新的临时表中,并进行数据的查询. 我是这样做的: 如:create table tabl ...
- 对于在MYSQL_WorkBench中创建新表时对PK NN UQ B UN ZF AI的理解
1.PK(primary key 主键) 当某项属性勾选了该功能时,该属性会作为与其他对象区别的凭证.例如我们的学号 每个人在本校都是唯一的,但姓名是可能相同的.所以学号就具有主键功能 2.NN(no ...
- sql 创建新表时的完成格式
1 create table [dbo].[Customer] ( CustomerID int identity(1,1) not null, [Name] [nvarchar](50) null, ...
- MySQL中实现DROP USER if EXISTS `test`,即创建新用户时检测用户是否存在
MySQL中实现DROP USER if EXISTS `test`,即创建新用户时检测用户是否存在 版权声明:本文为博主原创文章,欢迎大家转载,注明出处即可.有问题可留言,会尽快回复,欢迎探讨 ...
- 数据库SQL Server2012笔记(四)——多表查询、子查询、分页查询、用查询结果创建新表和外连接
1.多表查询 1)笛卡尔集: select * from 表名1,表名2 select * from 表名1.表名2 where 表名1.字段名=表名2.字段名 注: 若有两张表有同 ...
- php大力力 [023节]CREATE TABLE创建新表sql写字段备注(2015-08-27)
2015-08-27 php大力力023.CREATE TABLE创建新表sql写字段备注 http://www.cnblogs.com/dalitongxue/p/4762182.html 参考: ...
- C#使用SqlBulkCopy将DataTable写入数据库的表中(表不存在则创建新表,数据存在则更新,不存在则插入)
原文:.net使用SqlBulkCopy导入数据(创建新表) .net2.0后ado.net提供了一个快速导入sqlserver的方法sqlbulkcopy.导入效率非常高. 包装了一个简单的sql ...
- Sql中根据旧表创建新表的SQL语句
今天在网上查了下,根据旧表创建新表的SQL语句,网上给了两个答案 create table tab_new like tab_old (使用旧表创建新表) create table tab_new a ...
- 【原】使用IDEA创建Maven工程时提示"...xxx/pom.xml already exists in VFS"的解决
问题:使用IDEA创建Maven工程时提示"...xxx/pom.xml already exists in VFS",怎么办? 解决:如果只是删除工程,还会有这样的提示.说到底, ...
随机推荐
- ExtJS动态创建组件
J是代码动态创建dom: 或者 eval有后台组织代码,前台执 ======================= ExtJS组件的动态的创建: 程序中大多数时候需要在后台根据业务逻辑创建符合要求的组件, ...
- [译]作为一个web开发人员,哪些技术细节是在发布站点前你需要考虑到的
前日在cnblogs上看到一遍文章<每个程序员都必读的12篇文章>,其中大多数是E文的. 先译其中一篇web相关的”每个程序员必知之WEB开发”. 原文: http://programme ...
- kvmgt-kernel 实现GPU虚拟化
KVMGT-kernel是Intel开源技术01.org推出的一项完整的GPU虚拟化解决方案,在KVM和XEN的基础上实现.本文档对该技术进行相应测试,让大家有个基本参考和了解.KVMGT-kerne ...
- DBNavigator中把insert变为append
procedure TForm1.DBNavigator1Click(Sender: TObject; Button: TNavigateBtn);begin if Button = nbIns ...
- web api的新玩法
前言: 目前大多数的.net core 项目的web api 都是用的json作为数据传输格式,或者说几乎是所有的都是,可是有没有想过换一种数据传输格式怎么处理,比如XML,或者谷歌首推的Protob ...
- Python基础语法习题二
习题: 1.请用代码实现:利用下划线将列表的每一个元素拼接成字符串,li=['alex', 'eric', 'rain'] 2.查找列表中元素,移除每个元素的空格,并查找以a或A开头并且以c结尾的所有 ...
- Centos7手动编译安装Python3
Python3的安装方式非常的简单,首先去到Python下载目录下载想要的Python包,这里我选择了3.6.5版本 $ wget https://www.python.org/ftp/python/ ...
- go_gc
如果想知道当前的内存状态,可以使用: // fmt.Printf("%d\n", runtime.MemStats.Alloc/1024) // 此处代码在 Go 1.5.1下不再 ...
- indexes和indices的区别
indexes和indices的区别是: indexes在美国.加拿大等国的英语里比较常见.但indices盛行于除北美国家以外的英语里. indices一般在数学,金融和相关领域使用,而indexe ...
- 6-关于#include<bits/stdc++.h>
万能头文件#include<bits/stdc++.h> (转载) 最近在打cf时赛后翻阅别人的代码总是会发现一个陌生而奇怪的头文件#include<bits/stdc++.h& ...