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

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

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错误解决办法

提交后,发现可以成功提交了!出现这个错误的愿意,应该是我最近导入导出数据库太频繁,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的,但是没有设置为自增的!!或者数据定义的时候设置一个默认值就可以了。

发表评论

gravatar

:?::razz::sad::evil::!::smile::oops::grin::eek::shock::???::cool::lol::mad::twisted::roll::wink::idea::arrow::neutral::cry::mrgreen:

刷新评论

目前评论:6   其中:访客  5   博主  1

  1. 健康减肥博客 2 来自天朝的朋友 未知浏览器 Unknow Os 广东省梅州市 电信

    挺不错的,支持一下,以后会经常关注该博客,同时欢迎回访!

  2. 一昕精选 3 来自天朝的朋友 未知浏览器 Unknow Os 山东省临沂市 联通

    虽然我现在看不懂,但是还是要支持张哥一下的,感谢分享,张哥辛苦了 评论” />

  3. 梦轩丽人 6 来自天朝的朋友 未知浏览器 Unknow Os 广西百色市 电信

    看了博主的解决方法,感觉很简单啊!真的是技术大拿! 评论” />

    • 张戈 [博主] 来自天朝的朋友 未知浏览器 Unknow Os 广东省深圳市宝安区 电信

      确实是大拿,很大的拿来主义。哈哈

      • 梦轩丽人 6 来自天朝的朋友 未知浏览器 Unknow Os 广西百色市 电信

        能解决问题的就是好方法,能够快速找到解决问题的方法就更牛了

  4. 完美电商 1 来自天朝的朋友 谷歌浏览器 Windows 7 上海市 鹏博士长城宽带

    签到成功!签到时间:下午9:14:04签到成功!签到时间:下午9:14:04签到成功!签到时间:下午9:14:04,每日签到,生活更精彩哦~,每日签到,生活更精彩哦~,每日签到,生活更精彩哦~

加载中,请稍候...