zoukankan      html  css  js  c++  java
  • 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来建表,推荐使用MySQLWorkbench

  • 相关阅读:
    周六,晴转雨
    时间概念
    2014-7-24-早
    2014-7-22
    [SPM_LAB]持续集成实验
    [软件测试_LAB2]使用Selenium进行自动化测试
    [软件测试_hw3]路径覆盖测试
    [软件测试_LAB1]安装junit和hamcrest及其使用
    [软件测试_hw2]Failure&Error
    [SPM_hw1]记一次项目经历
  • 原文地址:https://www.cnblogs.com/lxwphp/p/9055025.html
Copyright © 2011-2022 走看看