Mysql 插入timestamp没有使用默认值问题
在一次升级过程中,发现Mysql插入数据报了个错
Column 'create_time' cannot be null.
但是看了下这个字段虽然是非null,但是是有默认值的
`create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
报这个错的原因是往这个字段里插入了null,但是没有用默认值代替null
看了下本地和服务器的Mysql版本都是5.7,在本地是没有问题的
最后发现是有一个explicit_defaults_for_timestamp参数去控制timestamp的列的默认值还是NULL
show variables like 'explicit_defaults_for_timestamp';
这个参数默认为off
当设置为off时:
如果往这个列中插入null值,会自动的设置该列的值为current timestamp值
当设置为on时:
此时向该列中插入null值时,会直接记录null,而不是current timestamp
修改参数可以使用set或者修改my.cnf配置,set重启会失效
//改成off
set GLOBAL explicit_defaults_for_timestamp = 1
参考:https://segmentfault.com/a/1190000018818020
Mysql 插入timestamp没有使用默认值问题的更多相关文章
- MYSQL中TIMESTAMP类型的默认值理解
MYSQL中TIMESTAMP类型可以设定默认值,就像其他类型一样. 1.自动UPDATE 和INSERT 到当前的时间:表:----------- Table Create Table ...
- MySQL设置当前时间为默认值的方法
方法一.是用alert table语句: 复制代码代码如下: use test_db1; create table test_ta1( id mediumint(8) unsigned not nul ...
- 设置 Mysql中的datetime的默认值
如果在navicat下操作,将字段类型设置为timestamp,然后默认值写上CURRENT_TIMESTAMP即可
- mysql多个时间戳字段默认值问题
项目使用mysql数据库,在设计表时某张表有多个字段设计的类型是timestamp 但没有给默认值,在执行sql时报 timestamp Invalid default value for 'xxx' ...
- 二货Mysql中设置字段的默认值问题
Mysql设置字段的默认值的确很落伍 1.不支持函数 2.只支持固定常量. 经常用到的日期类型,因为不支持getdate或者now函数,所以只能设置timestamp类型 而且还必须在默认值那个地方写 ...
- 关于Java读取mysql中date类型字段默认值'0000-00-00'的问题
今天在做项目过程中,查询一个表中数据时总碰到这个问题: java.sql.SQLException:Value '0000-00-00' can not be represented as ...
- 网站搬家之mysql 5.7 date类型默认值不能设置‘0000-00-00’的问题
网站搬家,mysql版本由5.6升级到5.7,遇到问题: mysql 5.7之后版本datetime默认值设置'0000-00-00',出现异常:Invalid default value for ' ...
- mysql删除、修改字段默认值
alter table表名alter column字段名drop default; (若本身存在默认值,则先删除) alter table 表名 alter column 字段名 set defaul ...
- MYSQL SQL 语句修改字段默认值
alter table tablename alter column drop default; (若本身存在默认值,则先删除) alter table tablename alter column ...
- FluentNHibernate当数据库设置默认值时,使用插入操作,导致默认值没有写入问题
需要再映射属性字段增加Not.Insert() Map(x => x.Provrince, "PROVRINCE").Not.Insert(); Map(x => x. ...
随机推荐
- [转帖]一个故事看懂CPU的TLB
https://www.cnblogs.com/xuanyuan/p/15347054.html Hi,我是CPU一号车间的阿Q,还记得我吗,真是好久不见了- 我所在的CPU是一个八核CPU,就有八个 ...
- [转帖]@nginx多server及使用优化(php)
文章目录 一.nginx多server优先级 二.禁止IP访问页面 三.nginx的包含include 四.nginx 路径的alias和root 1.配 ...
- Cosmic云星瀚的简单学习-测试用户创建
摘要 上一个学习文档里面总结了: 修改domain的url之后就可以重启服务然后登录了. 今天中午创建了一个业务用户,发现还挺麻烦的 因为可能短信服务有问题, 所以我这边需要有改数据库表的需求. 这里 ...
- 某环境私有云 rpm 包安装失败总结
1. 最近公司同事说一个项目搭建环境时 rpm 安装mysql数据库会报错 错误图片主要如下: 第一个错误提示是 提示 /etc/host.conf line 2: bad command `nosp ...
- 《SAIS Supervising and Augmenting Intermediate Steps for Document-Level Relation Extraction》论文阅读笔记
代码 原文地址 预备知识: 1.什么是标记索引(token indices)? 标记索引是一种用于表示文本中的单词或符号的数字编码.它们可以帮助计算机理解和处理自然语言.例如,假如有一个字典{ ...
- VScode中下载了插件但是无法找到SSH Target连接服务器的解决方法(CANNOT find SSH Target in remote explorer)
VSCode版本vscode version:(version 1.82) 已下载扩展installed extensions: Remote - SSH v0.106.4 Remote - SSH: ...
- STM32CubeMX教程26 FatFs 文件系统 - W25Q128读写
1.准备材料 正点原子stm32f407探索者开发板V2.4 STM32CubeMX软件(Version 6.10.0) keil µVision5 IDE(MDK-Arm) ST-LINK/V2驱动 ...
- 西门子PLC高校作业以及创新项目
抢答器 在主持人按下启动按钮,3秒内
- 即时通讯(IM)开源项目OpenIM每周迭代版本发布-音视频实时通话-v2.0.4
介绍 OpenIM每周五发布新版,包括新特性发布,bug修复,同时合并PR 由于2.0版本重构完毕,架构更清晰,代码更规范,先邀请各位参与OpenIM社区建设,包括技术开发,技术分享等,特性开发,性能 ...
- ABP无法使用异步操作,但要调用异步方法
使用 AsyncHelper.RunSync(() => _studentRepository.FirstOrDefaultAsync(x => x.Code == studentCode ...