久久青草精品A片狠狠,日韩欧美视频一区二区,亚洲国码AV日韩,国产精品黄在

幫助中心 >  技術知識庫 >  數據庫 >  相關技術支持 >  MySQL之Field \'email\' doesn\'t have a default value問題所在,簡單解決辦法

MySQL之Field \'email\' doesn\'t have a default value問題所在,簡單解決辦法

2016-11-28 17:12:09 6536

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來建表。



提交成功!非常感謝您的反饋,我們會繼續努力做到更好!

這條文檔是否有幫助解決問題?

非常抱歉未能幫助到您。為了給您提供更好的服務,我們很需要您進一步的反饋信息:

在文檔使用中是否遇到以下問題: