mysql5.7 datetime 默认值0000-00-00 00:00:00出错
发表于:2025-01-21 作者:千家信息网编辑
千家信息网最后更新 2025年01月21日,mysql5.7 datetime 默认值0000-00-00 00:00:00出错实验环境:MySQL 5.7.17使用wordpress的表wp_postsmysql > CREATE TABLE
千家信息网最后更新 2025年01月21日mysql5.7 datetime 默认值0000-00-00 00:00:00出错
mysql5.7 datetime 默认值0000-00-00 00:00:00出错
实验环境:MySQL 5.7.17
使用wordpress的表wp_posts
mysql > CREATE TABLE `wp_posts` ( -> `ID` bigint(20) unsigned NOT NULL AUTO_INCREMENT, -> `post_author` bigint(20) unsigned NOT NULL DEFAULT '0', -> `post_date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', -> `post_date_gmt` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', -> `post_content` longtext NOT NULL, -> `post_title` text NOT NULL, -> `post_excerpt` text NOT NULL, -> `post_status` varchar(20) NOT NULL DEFAULT 'publish', -> `comment_status` varchar(20) NOT NULL DEFAULT 'open', -> `ping_status` varchar(20) NOT NULL DEFAULT 'open', -> `post_password` varchar(20) NOT NULL DEFAULT '', -> `post_name` varchar(200) NOT NULL DEFAULT '', -> `to_ping` text NOT NULL, -> `pinged` text NOT NULL, -> `post_modified` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', -> `post_modified_gmt` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', -> `post_content_filtered` longtext NOT NULL, -> `post_parent` bigint(20) unsigned NOT NULL DEFAULT '0', -> `guid` varchar(255) NOT NULL DEFAULT '', -> `menu_order` int(11) NOT NULL DEFAULT '0', -> `post_type` varchar(20) NOT NULL DEFAULT 'post', -> `post_mime_type` varchar(100) NOT NULL DEFAULT '', -> `comment_count` bigint(20) NOT NULL DEFAULT '0', -> PRIMARY KEY (`ID`), -> KEY `post_name` (`post_name`(191)), -> KEY `type_status_date` (`post_type`,`post_status`,`post_date`,`ID`), -> KEY `post_parent` (`post_parent`), -> KEY `post_author` (`post_author`) -> ) ENGINE=innodb AUTO_INCREMENT=536 DEFAULT CHARSET=utf8;ERROR 1067 (42000): Invalid default value for 'post_date'
出现以上问题:是因为mysql5.7版本后,sql_mode参数被设置了NO_ZERO_IN_DATE,NO_ZERO_DATE
mysql > show variables like 'sql_mode';+---------------+-------------------------------------------------------------------------------------------------------------------------------------------+| Variable_name | Value |+---------------+-------------------------------------------------------------------------------------------------------------------------------------------+| 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 |+---------------+-------------------------------------------------------------------------------------------------------------------------------------------+1 row in set (0.01 sec)
解决方法:
方法一:临时修改方法
mysql> set global sql_mode='ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION' ;mysql> set session sql_mode='ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION' ;
方法二:永久修改方法,需要重启mysql服务:修改mysql的配置文件my.cnf,添加以下参数
sql_mode=ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION //实际是去除NO_ZERO_IN_DATE,NO_ZERO_DATE
方法三:修改datetime的默认值
方法
参数
实际
文件
版本
环境
问题
永久
实验
服务
配置
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网科技公司的概念
服务器怎么手动备份快照
靖江购买网络技术解决方案
服务器配置清单2021年
苹果服务器为什么会出错
钻石大陆服务器
乐山软件开发参考价
数据库系统由相应的什么组成
网络安全性包括
网络安全前沿的技术
数据库读写分库
网络安全防诈骗班会教案
Linux下远程服务器
比特币互联网科技课件
软件开发 月小结300字
数据库监测系统
开启远程服务器的任务管理器
服务器如何做网站
刺激战场开放服务器怎么进去
mysql数据库打开工具
四方网络安全装置
服务器系统占比
小麦芽数据库能批量导出数据吗
霜雨服务器
2ksports服务器怎么连
软件开发工程师的目标职业
个人网络安全知识竞赛题库
软件开发采纳什么核算制度
h5软件开发语言
网络安全弱口令有什么要求