在mysql 5.7中,默认使用的是严格模式,这个有的时候会太严格,带来问题,

比如:

mysql> CREATE TABLE `events_t` (

-> `id` int(11) NOT NULL AUTO_INCREMENT,

-> `event_date` datetime NOT NULL,

-> `profile_id` int(11) DEFAULT NULL,

-> PRIMARY KEY (`id`),

-> KEY `event_date` (`event_date`),

-> KEY `profile_id` (`profile_id`)

-> ) ENGINE=InnoDB DEFAULT CHARSET=latin1

-> ;

Query OK, 0 rows affected (0.02 sec)

mysql> insert into events_t (profile_id) values (1);

ERROR 1364 (HY000): Field 'event_date' doesn't have a default value

这里日期就必须要有默认值,不能 NULL,但:

mysql> alter table events_t change event_date event_date datetime NOT NULL default '0000-00-00 00:00:00';

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

mysql> alter table events_t change event_date event_date datetime NOT NULL default '2000-00-00 00:00:00';

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

也是不行的,必须要有真实日期默认

mysql> alter table events_t change event_date event_date datetime NOT NULL default '2000-01-01 00:00:00';

Query OK, 0 rows affected (0.00 sec)

Records: 0 Duplicates: 0 Warnings: 0

mysql> insert into events_t (profile_id) values (1);

Query OK, 1 row affected (0.00 sec)

因此只有日期格式改为timestamp,或者用NULL,或者在insert的时候用now()产生日期,

如果不用默认模式,可以这样:

mysql> set global SQL_MODE="NO_ENGINE_SUBSTITUTION";

mysql 5.7 严格模式_mysql 5.7中严格模式的问题相关推荐

  1. mysql的几种模式_MYSQL复制的几种模式

    MySQL 5.1 中,在复制方面的改进就是引进了新的复制技术:基于行的复制. MYSQL复制的几种模式 MySQL 5.1 中,在复制方面的改进就是引进了新的复制技术:基于行的复制. 简言之,这种新 ...

  2. 工厂模式 java好处_java中工厂模式的优缺点有哪些

    java中工厂模式的优缺点有哪些 发布时间:2020-12-03 15:15:07 来源:亿速云 阅读:79 作者:Leah 这篇文章将为大家详细讲解有关java中工厂模式的优缺点有哪些,文章内容质量 ...

  3. mysql sql 连接查询语句_Mysql——sql数据库中的连接查询

    1.1.1   交叉连接(CROSS JOIN) 交叉连接(CROSS JOIN):有两种,显式的和隐式的,不带ON子句,返回的是两表的乘积,也叫笛卡尔积. 例如:下面的语句1和语句2的结果是相同的. ...

  4. mysql的其中连接方式_MySQL选择连接中的位置,但不在其中

    我的数据库中有三个表: 产品展示 > id(int,主键) >名称(varchar) 标签 > id(int,主键) >名称(varchar) 产品标签 > produc ...

  5. mysql 数字用什么类型_MySQL数字类型中的三种常用种类

    数字类型 MySQL数字类型按照我的分类方法分为三类:整数类.小数类和数字类. MySQL数字类型之一我所谓的"数字类" 就是指 DECIMAL 和 NUMERIC,它们是同一种类 ...

  6. mysql备份表数据库表_mysql 备份数据库中的一张表

    方案一: 备份db1里的t7表[root@stu1 mysql]#  mysqldump -u root -p123 db1 t7 > t7.sql 恢复db1里的t7表[root@stu1 m ...

  7. mysql 目录武沛齐_MySQL数据表中的数据操作

    1.插入数据 insert into t_user (username,password,nickname) values ('foye','123','佛爷'); 以下方式必须写出所有的字段 ins ...

  8. python调用库函数用ecb模式加密图片_AES中ECB模式的加密与解密(Python3.7)

    本文主要解决的问题 本文主要是讲解AES加密算法中的ECB模式的加密解密的Python3.7实现.具体AES加密算法的原理这里不做过多介绍,想了解的可以参考文末的参考链接. 主要解决了两个问题: 在P ...

  9. mysql存储过程_MySQL带out和inout模式参数的存储过程

    一.OUT模式 out模式参数写法和in相似 out 参数名 参数类型 同样,存储过程也支持一个或多个返回值. 以员工表和部门表来测试 show create table emp; CREATE TA ...

最新文章

  1. AMD Cpu 性能分析
  2. Windows Server 2012 RS 配置IIS8.0+发布网站
  3. 【LeetCode 剑指offer刷题】树题4:104 Maximum Depth of Binary Tree
  4. 周老师打酒喝光回 递归
  5. Google I/O 2016到底讲了啥
  6. 软件开发的流程和常用模式
  7. south的使用总结
  8. 虚假共识—阿比勒尼悖论:“枪打出头鸟”与“事后诸葛亮”
  9. 图形化生物软件专题(4):MEGAN
  10. 使用certbot生成https证书
  11. jquery ui和easy ui联合使用
  12. Recon-all命令实例
  13. Quartz执行逻辑(三)QRTZ_FIRED_TRIGGERS表的作用
  14. java冒泡排序(java冒泡排序经典代码)
  15. 上蔡一高2021高考成绩查询,喜报!上蔡高考英雄榜出炉!
  16. Oracle Database 12c Security - 1. Security for Today’s World
  17. 干货|4个全网最实用的OCR图片文字识别软件合集
  18. 标量量化和矢量量化实验
  19. 【矩阵乘法】JZOJ_5223 B
  20. 初识Linux(1):入门简介、基础指令

热门文章

  1. opc客户端_OPC UA 预备知识 OPC 核心概念
  2. sql语句为什么大写居多_懂EXCEL就会SQL,从此查数不求人
  3. FFT变换频谱图中幅值的设置方法
  4. BootStrap中的日期时间组件datetimepicker
  5. java 关闭守护线程_Java并发编程之线程生命周期、守护线程、优先级、关闭和join、sleep、yield、interrupt...
  6. 面向对象设计原则与设计模式
  7. rn webview加载本地静态html,React Native - Webview 加载本地文件
  8. 高中计算机编辑程序,高中信息技术信息的编程加工教案
  9. java println和print_java中的print和println有区别吗
  10. git如何查看和切换账号