前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >MySQL之Field ‘***’doesn’t have a default value错误解决办法

MySQL之Field ‘***’doesn’t have a default value错误解决办法

作者头像
张戈
发布2018-03-23 16:04:48
1.3K0
发布2018-03-23 16:04:48
举报
文章被收录于专栏:张戈的专栏

今天,中国博客联盟有博友反馈,zgboke.com 无法提交博客,当时我正好准备去假日广场聚会,就匆匆忙忙的提交试了下,发现提交博客的时候确实报如下错误:

MySQL之Field '***'doesn't have a default value错误解决办法
MySQL之Field '***'doesn't have a default value错误解决办法

提示 web_pic 不能为空值。很纳闷,之前都可以成功提交的,为什么突然不行了?看了下网上的案例,说是需要修改 MySQL 的配置什么的,但是目前博客联盟是挂在京东云擎的,数据库不能修改配置,按理说之前可以正常提交,后面应该也可以才对啊!

由于聚会时间快到了,就先放在一边了。回到家之后,对比了下网上的类似案例,原来是 web_pic 这个键值设置了不为空导致的,也就是在创建表的时候,使用了 not null 属性。于是进入 mywebsql,登入京东云擎数据库,进行了如下操作:

MySQL之Field '***'doesn't have a default value错误解决办法
MySQL之Field '***'doesn't have a default value错误解决办法
MySQL之Field '***'doesn't have a default value错误解决办法
MySQL之Field '***'doesn't have a default value错误解决办法

提交后,发现可以成功提交了!出现这个错误的愿意,应该是我最近导入导出数据库太频繁,create tables 语句出现错误导致的。

下面,整理一下网上的相同问题的其他解决办法,方便出现问题的同学参考:

1、打开 my.ini,查找 sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION" 修改为 sql-mode="NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION" 然后重启 MYSQL 2、MySQL 5 uses a strict mode which needs to be disabled. In Windows, Goto Start-->Programs-->MySQL->MySQL Instance Config Wizard. Follow through the Reconfigure Instance option-->Detailed Configuration-->Continue Next a few screens. At the bottom under Enable TCP/IP option there is 'Enable Strict Mode'. Deslect this option (no tick). Save changes and MySQL will restart. 3、看看你的数据库定义的时候是不是把主键生成方式设置为 int 的,但是没有设置为自增的!!或者数据定义的时候设置一个默认值就可以了。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2014年08月23日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档