PHP,yii框架在更新/插入时出错,选择工作正常


PHP, yii framework gives error on update/insert, select works fine

当我在共享mysql上使用数据库时,yii添加/更新工作正常,但当我将数据库移动到本地mysql中的windows计算机时,我得到错误:违反完整性约束:1048列sp_1'不能为null。

完全错误CDb异常

CDbCommand无法执行SQL语句:SQLSTATE[23000]:违反完整性约束:1048列"sp_1"不能为null。执行的SQL语句为:UPDATE user_details SET id=:yp0,user_id=:yp1,country_id=:yp2,state=:yp3,city=:yp4,county=:yp5,address=:yp6,address2=:yp7,zipcode=:yp8,lng=:yp9,lat=:yp10,zoom=:yp11,created=:yp12,last_login=:yp13,phone_no=:yp14,fax_no=:yp15,paypal_email=:yp16,CCD_16 19=:yp17,company_description=:yp18,company_logo=:yp19,bill_name=:yp20,bill_address=:yp21,bill_country_id=:yp22,pro_cap_aerospace=:yp23,pro_cap_helicopter=:yp24,pro_cap_defence=:yp25,pro_cap_other=:yp26,pro_cap_benefit_1=:yp27,pro_cap_benefit_2=:yp28,pro_cap_busi_1=:yp29,pro_cap_busi_2=:yp30,pro_cap_busi_3=:yp31,pro_cap_busi_4=:yp32,pro_cap_busi_5=:yp33,pro_cap_busi_6=:yp34,pro_cap_busi_7=:yp35,pro_cap_busi_8=:yp36,pro_cap_busi_9=:yp37,pro_cap_busi_10=:yp38,pro_cap_busi_11=:yp39,pro_cap_busi_12=:yp40,pro_cap_busi_13=:yp41,pro_cap_busi_14=:yp42,pro_cap_busi_15=:yp43,pro_cap_busi_16=:yp44,pro_cap_busi_17=:yp45,pro_cap_busi_18=:yp46,pro_cap_busi_19=:yp47,pro_cap_busi_20=:yp48,pro_cap_busi_21=:yp49,pro_cap_busi_company=:yp50,pro_cap_eq_1=:yp51,pro_cap_eq_2=:yp52,pro_cap_eq_3=:yp53,pro_cap_eq_4=:yp54,pro_cap_eq_5=:yp55,pro_cap_eq_6=:yp56,pro_cap_eq_7=:yp57,pro_cap_eq_8=:yp58,pro_cap_eq_9=:yp59,dp_third_party_certy=:yp60,dp_iso_certy=:yp61,dp_nadcap_certy=:yp62,dp_militry_certy=:yp63,dp_civil_certy=:yp64,dp_quality_org=:yp65,dp_qpl_certy=:yp66,dp_cont_org_1=:yp67,dp_cont_org_2=:yp68,dp_various_overseen=:yp69,dp_various_pcont=:yp70,dp_various_result=:yp71,dp_various_level=:yp72,dp_various_civil=:yp73,dp_various_date=:yp74,bd_iban=:yp75,bd_amount=:yp76,bd_bic=:yp77,bd_country_id=:yp78,bd_cin=:yp79,bd_swift=:yp80,bd_bank_name=:yp81,bd_bank_location=:yp82,sp_1=:yp83,sp_2=:yp84,sp_3=:yp85,sp_4=:yp86,sp_5=:yp87,sp_6=:yp88,sp_7=:yp89,sp_8=:yp90,sp_9=:yp91,sp_10=:yp92,sp_11=:yp93,certification=:yp94,certification_type=:yp95其中user_detailsid=48

"列sp_1'不能为null"。请检查sp_1是否为非空列。也许在旧环境中,sp_1的所有值都不为空。但在新环境中,您为其设置了一个null值。

我最近也遇到过这个问题。您可以做的是解决您的问题,即转到localhost/phpmyadmin并打开表的结构,然后单击sp_1的编辑按钮并选中空复选框,如下图所示。phpmyadmin_screenshot