mysql ”Invalid use of null value“ 解決方法
阿新 • • 發佈:2018-05-18
font hang value time pda size 解決 SQ 通過
1.問題描述
因為要更改"information"表中的"編號"列為非空,使用數據庫查詢語句“alter table information modify ‘編號‘ varchar(255) not null”可以更改其他的列,但只是在編號列出錯,錯誤信息為Invalid use of NULL value。
很是奇怪,其他列使用該命令可以查,為什麽僅有編號列無法查。
2.錯誤原因
出現該錯誤的原因可能是因為已存在的數據的‘編號’列為null,與not null的設置沖突。(查到的原因)。
我自己認為是因為在剛開始新建數據表時,將該列的表結構已經設置,在後續進行更改的時候會因為與之前的設置有沖突(至於為什麽這裏更改時不能更改,我也沒太理解),因為之前我在新建表的時候將編號列的結構屬性設置了。
鑒於無法設置為非空,所以通過新建列並設置好not null,便可以成功。
3.解決辦法
1)添加新列,設置列的結構屬性。
alter table information add column ‘yyy‘ varchar(255) not null first; -新添加列yyy至第一列.
2)將出錯的列內容復制到新列中並刪除出錯列
update information set yyy=‘編號‘; ---將‘編號‘列的所有值復制到yyy列.
alter table information drop ‘編號‘; ---刪除出錯的列.
3)修改新列名為出錯的列名
alter table information change ‘yyy‘ ‘編號‘ varchar(255) not
null;
mysql ”Invalid use of null value“ 解決方法