MySQL在出现这个Field xxx doesn't have a default value错误的原因是:我们设置了该字段为非空,但是我们没有设置默认值照成的。

比如我们创建一个表:

CREATE TABLE IF NOT EXISTS `blog_user` (
  `userid` smallint(5) unsigned NOT NULL auto_increment,
  `username` varchar(20) NOT NULL default '',
  `passwd` char(32) NOT NULL default '',
  `email` varchar(30) NOT NULL,
  PRIMARY KEY  (`userid`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

我们对email字段设置了not null 但是没有设置默认值 default,所以我们在插入的时候:
INSERT INTO blog_user(username,passwd) VALUES('tomener',md5(123456));

会报如下错误:
Field 'email' doesn't have a default value

解决办法就是设置一个默认值,比如: `email` varchar(30) NOT NULL DEFAULT ''

很简单吧,就是加一个DEFAULT ''

为什么我们会出现Field 'email' doesn't have a default
value这样的错误呢,估计是你使用的phpmyadmin来创建的表,phpmyadmin创建表时,不能指定空的默认值,所以很不爽了,所以,不要用phpmyadmin来建表,推荐使用MySQLWorkbench

最新文章

  1. MYSQL基础操作之数据约束与关联查询
  2. QT error: cannot find -lGL
  3. java代码性能优化总结(转载)
  4. iOS大神牛人的博客集合
  5. 【BZOJ】3289: Mato的文件管理(莫队算法+树状数组)
  6. json 数组转换为js数组
  7. LightOj1285 - Drawing Simple Polygon(连接多边形各点)
  8. jad 反编译 jar包
  9. scala伴生对象,apply()及单例
  10. JavaScript- The Good Parts Chapter 4
  11. 开心菜鸟系列学习笔记--------初探Nodejs(了解篇)
  12. 基于visual Studio2013解决算法导论之013基数排序
  13. 转:IT巨头纷纷“卡位” 智能语音成人机交互入口必争之地
  14. 嵌套for in循环组合cat方式文件中包含空格问题
  15. selenium 不同版本Driver
  16. Redis 总结精讲 看一篇成高手系统-4
  17. C# Dictionary<TKey,TValue>如何添加键重复的内容
  18. [cloud][sdn] openstack openflow opendaylight openvswitch
  19. JavaScript的setTimeout()和setInterval()
  20. Java内存泄露原因详解

热门文章

  1. JQuery-- 获取元素的宽高、获取浏览器的宽高和垂直滚动距离
  2. JavaScript--函数表达式与函数声明的区别
  3. 【转】MySQL的btree索引和hash索引的区别
  4. WCF ChannelFactory
  5. cocos2dx3.0项目创建流程
  6. MaxCompute问答整理之6月
  7. 解决eclipse不会自动弹出Console控制台的问题
  8. a configuration error occured during startup.please verify the preference field with the prompt:
  9. Java Annotation入门
  10. [linux]vmware中linux虚拟机扩容 标签: vmware虚拟机linux 2016-09-05 08:03 315人阅读 评