- 工信部备案号 滇ICP备05000110号-1
- 滇公安备案 滇53010302000111
- 增值电信业务经营许可证 B1.B2-20181647、滇B1.B2-20190004
- 云南互联网协会理事单位
- 安全联盟认证网站身份V标记
- 域名注册服务机构许可:滇D3-20230001
- 代理域名注册服务机构:新网数码
MySQL之Field 'email' doesn't have a default value问题所在,简单解决办法
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来建表。
售前咨询
售后咨询
备案咨询
二维码
TOP