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

编辑Tag赚U币
教程Tag:暂无Tag,欢迎添加,赚取U币!

推荐:mysql中字符串索引问题与例子
字符串索引与数字索引有一些方面如果没做好会非常的慢了,今天我们就一起来看看小编整理的一些mysql中字符串索引问题与例子了,因为字符索引相对来说也简单文章就简单的整理了一些例子,希望对各位有帮助。 事情的起因是线上日志发现的mysql慢查询。100万数据量的标准

   今天,中国博客联盟有博友反馈,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的,但是没有设置为自增的!!或者数据定义的时候设置一个默认值就可以了。

分享:mysql sharding(碎片)介绍
1、Sharding 的应用场景一般都那些? 当数据库中的数据量越来越大时,不论是读还是写,压力都会变得越来越大。试想,如果一张表中的数据量达到了千万甚至上亿级别的时候,不管是建索引,优化缓存等,都会面临巨大的性能压力。sharding通过某种条件,把同一个数据库中的

来源:模板无忧//所属分类:MySQL教程/更新时间:2015-04-07
相关MySQL教程