mysql报错无效默认值1067_Mysql 报错:#1067
由于 字段UPDATE_TIME 的字段类型是 timestamp ,默认值是:'0000-00-00 00:00:00'
即:`UPDATE_TIME` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' COMMENT '更新时间';
在对这个表进行创建的时候,提示:
#1067 - Invalid default value for 'update_time
原因:
timestamp有效时间在:1970-01-01 00:00:00 到 2037-12-31 23:59:59
timestamp类型特点:
1. 占用4个字节
2. 允许为空值,但是不可以自定义值,所以为空值时没有任何意义。
3. TIMESTAMP值不能早于1970或晚于2037。这说明一个日期,例如'1968-01-01',虽然对于DATETIME或DATE值是有效的,但对于TIMESTAMP值却无效,如果分配给这样一个对象将被转换为0。
4.值以UTC格式保存( it stores the number of milliseconds)
5.时区转化 ,存储时对当前的时区进行转换,检索时再转换回当前的时区。
6. 默认值为CURRENT_TIMESTAMP(),其实也就是当前的系统时间。
7. 数据库会自动修改其值,所以在插入记录时不需要指定timestamp字段的名称和timestamp字段的值,你只需要在设计表的时候添加一个timestamp字段即可,插入后该字段的值会自动变为当前系统时间。
8. 默认情况下以后任何时间修改表中的记录时,对应记录的timestamp值会自动被更新为当前的系统时间。
9. 如果需要可以设置timestamp不自动更新。通过设置DEFAULT CURRENT_TIMESTAMP 可以实现。
修改自动更新:
`field_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE
修改不自动更新
`field_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
解决:
将默认值设置为:1970-01-01 10:00:00之后
参考文章:
https://blog.csdn.net/souldak/article/details/11737799
mysql报错无效默认值1067_Mysql 报错:#1067相关推荐
- mysql报错无效默认值1067_Mysql 报错:#1067 - Invalid default value for 'update_time
由于 字段UPDATE_TIME 的字段类型是 timestamp ,默认值是:'0000-00-00 00:00:00' 即:`UPDATE_TIME` timestamp NOT NULL DEF ...
- 28 PP配置-生产车间控制-工序-定义报工屏幕默认值
业务背景:定义报工屏幕默认值 事务码:OPK0 SPRO路径:SPRO->生产->商店底价控制->工序->确认->单个屏幕输入项->定义单一屏幕输入项 第1步,SP ...
- NAVICAT MYSQL 建表字段 默认值、EMPTY STRING、空白、NULL 的区别
Navicat mysql 建表字段 默认值.empty string.空白.NULL 的区别 总结在最后,没啥干货 简单测试了4种类型 bigint tinyint varchar char 单引号 ...
- mysql中列的默认值
在 MySQL 中,每个字段定义都包含附加约束或者修饰符,这些可以用来增加对所输入数据的约束. NULL 和 NOT NULL 修饰符.DEFAULT 修饰符,AUTO_INCREMENT 修饰符. ...
- mysql字段设置中文默认值
mysql字段设置中文默认值 (1064 - You have an error in your SQL syntax; check the manual that corresponds to yo ...
- c mysql 的默认值_为mysql表字段设置默认值的方法及注意细节
为mysql表字段设置默认值的方法及注意细节,有需要的朋友可以参考下. 环境:MySQL 5.1 + 命令行工具 问题:MySQL表字段设置默认值 解决方法: 代码如下: --SQL: CREATE ...
- mysql+默认值+default_十六、MySQL 中数据类型的默认值 - default 约束-搜云库
MySQL 中,所有的数据类型,都可以显式或隐式的拥有默认值. 我们可以使用 DEFAULT 约束显式的为列指定一个默认值.比如 CREATE TABLE t1 ( i INT DEFAULT -1, ...
- mysql 整型默认值,MySQL表字段设立默认值
mysql表字段设置默认值 环境 MySQL 5.1 + 命令行工具 问题 MySQL表字段设置默认值 解决 --SQL: CREATE TABLE test( i_a int NOT NULL DE ...
- MySQL修改字段的默认值和空值
MySQL修改字段的默认值和空值 一.修改字段默认值 修改: ALTER TABLE 表名 ALTER COLUMN 字段名 SET DEFAULT 默认值 删除: ALTER TABLE 表名 AL ...
- MySQL 里 timestamp 的默认值设置
MySQL里timestamp的默认值设置 timestamp 有以下几种默认值设置: 1.timestamp :表示该字段在插入和更新时都不会自动设置为当前时间. 2.timestamp defau ...
最新文章
- 【从零开始的ROS四轴机械臂控制】(四)- ros、gazebo与opencv,图像处理节点
- “如果把所有的经济学家都放在一起,他们永远不会得出结论。 - 萧伯纳
- 电子邮件收发原理和实现(POP3, SMTP)
- java枚举的特点_Java中有些好的特性(二):枚举
- sudo -u hdfs hdfs balancer出现异常 No lease on /system/balancer.id
- ubuntu 安装docker_Docker学习笔记1 虚拟化历史及 Ubuntu环境下体验安装
- python贝叶斯网络预测天气_基于pym的贝叶斯网络条件概率表的生成
- 火狐浏览器插件学习01
- 比例尺分辨率转换(openlayers)
- 第三方支付接口对接基本流程
- [good]使用Arduino操控RF 433Mhz射频发送器和接收器
- JavaScript 中 == 和 === 的区别
- 一次聚类引发的一系列问题(多线程篇-多线程慢于单线程)
- mybatisplus where或and后面的条件用括号括起来
- 大疆精灵4多光谱无人机P4M影像辐射定标方法(二)
- 解决 小程序界面数据不显示问题
- CCNA初级课程,初识网络
- Java实现 计蒜客 1251 仙岛求药
- 注册申请企业邮箱后如何使用,企业邮箱有已读回执功能吗?
- 论语中的仁德思想和从学态度