欢迎访问本站·  我们将竭尽全力为您服务·  设计与开发、售后服务安全可靠!

项目经理· 服务热线:150-5696-8972 王工     售后热线:182-5605-6183 张工

合肥做网站哪家好

您所在的位置: 网站首页 > 新闻动态 > 建站技巧

Field 'bh_storename' doesn't have a default value

发表日期:2012-11-27 10:57:01

近开发一套系统,在本地测试完全没哟问题,但上传到网上出现如下问题:

Field 'bh_storename' doesn't have a default value  技术人员对这边的问题研究如下解决方案:

Field 'id' doesn't have a default value

MySQL 5中,出现错误提示:
Field 'id' doesn't have a default value

解决方法一:

打开my.ini,查找
sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"

修改为

sql-mode="NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"

然后重启MYSQL


解决方法二:
   MySQL 5 uses a strict mode which needs to be disabled.
In Windows, Goto Start-->Programs-->MySQL->MySQL Instance Config Wizard. Follow through the Reconfigure Instance option-->Detailed Configuration-->Continue Next a few screens. At the bottom under Enable TCP/IP option there is 'Enable Strict Mode'. Deslect this option (no tick). Save changes and MySQL will restart   原来在MySQL 5.0.2之前,MySQL对非法或不当值并不严厉,而且为了数据输入还会强制将它们变为合法值。
   在MySQL 5.0.2和更高版本中,保留了以前的默认行为,但你可以为不良值选择更传统的处理方法,从而使得服务器能够拒绝并放弃出现不良值的语句。本节介绍了MySQL的默认行为(宽大行为),新的严格的SQL模式,以及它们的区别。  
   如果你未使用严格模式,下述情况是真实的。如果将“不正确”的值插入到列,如将NULL值插入非NULL列,或将过大的数值插入数值列,MySQL会将这些列设置为“可能的值”,而不是生成错误信息。
   如果试图将超范围的值保存到数值列,MySQL服务器将保存0(小的可能值)取而代之,或大的可能值。  · 对于字符串,MySQL或保存空字符串,或将字符串尽可能多的部分保存到列中。  
   如果打算将不是以数值开头的字符串保存到数值列,MySQL将保存0。  
   MySQL允许将特定的不正确日期值保存到DATE和DATETIME列(如“2000-02-31”或“2000-02-00”)。其观点在于,验证日期不是SQL服务器的任务。如果MySQL能保存日期值并准确检索相同的值,MySQL就能按给定的值保存它。如果日期完全不正确(超出服务器能保存的范围)将在列中保存特殊的日期值“0000-00-00”取而代之。  
  如果试图将NULL值保存到不接受NULL值的列,对于单行INSERT语句,将出现错误。对于多行INSERT语句或INSERT INTO ... SELECT语句,MySQL服务器会保存针对列数据类型的隐含默认值。一般情况下,对于数值类型,它是0,对于字符串类型,它是空字符串(''),对于日期和时间类型是“zero”。  
   如果INSERT语句未为列指定值,如果列定义包含明确的DEFAULT子句,MySQL将插入默认值。如果在定义中没有这类DEFAULT子句,MySQL会插入列数据类型的隐含默认值。  采用前述规则的原因在于,在语句开始执行前,无法检查这些状况。如果在更新了数行后遇到这类问题,我们不能仅靠回滚解决,这是因为存储引擎可能不支持回滚。中止语句并不是良好的选择,在该情况下,更新完成了“一半”,这或许是差的情况。对于本例,较好的方法是“仅可能做到好”,然后就像什么都未发生那样继续。  
   在MySQL 5.0.2和更高版本中,可以使用STRICT_TRANS_TABLES或STRICT_ALL_TABLES SQL模式,选择更严格的处理方式。  STRICT_TRANS_TABLES的工作方式:  · 对于事务性存储引擎,在语句中任何地方出现的不良数据值均会导致放弃语句并执行回滚。  
 对于非事务性存储引擎,如果错误出现在要插入或更新的第1行,将放弃语句。(在这种情况下,可以认为语句未改变表,就像事务表一样)。首行后出现的错误不会导致放弃语句。取而代之的是,将调整不良数据值,并给出告警,而不是错误。换句话讲,使用STRICT_TRANS_TABLES后,错误值会导致MySQL执行回滚操作,如果可以,所有更新到此为止。  
   要想执行更严格的检查,请启用STRICT_ALL_TABLES。除了非事务性存储引擎,它与STRICT_TRANS_TABLES等同,即使当不良数据出现在首行后的其他行,所产生的错误也会导致放弃语句。这意味着,如果错误出现在非事务性表多行插入或更新过程的中途,仅更新部分结果。前面的行将完成插入或更新,但错误出现点后面的行则不然。对于非事务性表,为了避免这种情况的发生,可使用单行语句,或者在能接受转换警告而不是错误的情况下使用STRICT_TRANS_TABLES。要想在第1场合防止问题的出现,不要使用MySQL来检查列的内容。安全的方式(通常也较快)是,让应用程序负责,仅将有效值传递给数据库。  
   有了严格的模式选项后,可使用INSERT IGNORE或UPDATE IGNORE而不是不带IGNORE的INSERT或UPDATE,将错误当作告警对待。

如有问题请联系 合肥网络公司 合肥网站建设 卫来网络官网首页右边客服中心为您详细解答:https://www.binhunet.com/ http://www.binhu114.com/

上一篇:合肥做网站优化公司哪家好下一篇:【成功签约】安徽知升知识产权运营有限公司网站建设项目验收通过

品牌案例

  • 北京大学国学与管理研修中心

    北京大学,创立于1898年,初名京师大学堂,是中国中央政府设立的第一所大学,为中国近代正式设大学之始,其成立标志着中国近现代高等教育的开端,由此开创了中国的现代学制。

  • 中国科学技术大学 量子材料与光子技术实验室

    快房网是提供最全面最及时的杭州房地产、楼盘信息在线查询,买房卖房和二手房租售咨询服务的互动式房地产门户网站。查看买房、卖房、楼盘和房地产信息就上快房网

  • 中国科学技术大学 陆亚林教授

    科腾世界(上海)文化传播有限公司(以下简称科腾)主要从事文化交流,整案策划,营销策划,影视制作,媒体推广,平面设计等一系列商业及政府活动。

  • 安徽省交通科学研究院

    清华大学总裁班:汇集工商管理、资本运作、私募股权等管理培训班课程的高端总裁班,欢迎咨询报名!

  • 合肥合锻机床股份有限公司

    三亚最爱婚纱摄影是最受欢迎的海南婚纱摄影公司,是三亚婚纱摄影行业中的领军品牌.为您提供专业的三亚婚纱摄影,海南旅游外景婚纱照以及最满意,最优质的服务.三亚婚纱摄影哪家好—三亚最爱婚纱打造新的视觉神话.真诚欢迎您光临三亚最爱婚纱旗舰店!

  • 中国中材集团旗下 安徽节源环保科技有限公司

    深圳ZO CA I珠宝是一家传承珠宝文化的钻饰、珠宝零售商。销售包括ZO CA I在内的多个欧洲珠宝品牌。其中还包括裸钻批发,高级红蓝宝石饰品量身定制等多项服务。在这里,我们的理念非常简单:以最出众的价格提供最优质的钻石和珠宝。

多一份参考,多一份选择,总有益处

请联系我们,免费获得专属《策划方案》及报价
咨询相关问题或预约面谈,可以通过以下方式与我们联系
24小时业务热线:150-5696-8972 王先生
在线客服
咨询热线-王工
150-5696-8972
扫码 - 微信沟通
7*24小时微信扫码咨询
售后热线-张工
182-5605-6183