WD1X.COM - 问答一下,轻松解决,电脑应用解决专家
主板显卡CPU内存显示器
硬盘维修显卡维修显示器维修
注册表系统命令DOS命令Win8
存储光存储鼠标键盘
内存维修打印机维修
WinXPWin7Win11Linux
硬件综合机箱电源散热器手机数码
主板维修CPU维修键盘鼠标维修
Word教程Excel教程PowerPointWPS
网络工具系统工具图像工具
数据库javascript服务器
PHP教程CSS教程XML教程

MySQL之Field 'email' doesn't have a default value问题

更新时间:2021-07-04 14:12 作者:lxw1844912514点击:
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
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
你可能感兴趣的内容