Incorrect integer value

エラー

概要

 状態:-  閲覧数:2,039  投稿日:2016-03-09  更新日:2016-03-09  
不適切な整数値
・「int型カラムへ不適切な整数値を格納しようとした」ため発生するエラー

遭遇例1.INT型カラムに空文字INSERT

 閲覧数:929 投稿日:2016-03-09 更新日:2016-03-09 

INT型カラムに空文字INSERT


ダブルクオーテーション
INSERT INTO t (a,b) VALUES ("","");

#1366 - Incorrect integer value: '' for column 'a' at row 1

シングルクオーテーション
INSERT INTO t (a,b) VALUES ('','');

#1366 - Incorrect integer value: '' for column 'a' at row 1


遭遇例2.INT型カラムへ、VARCHARカラムより取得した値をINSERT

 閲覧数:302 投稿日:2016-03-09 更新日:2016-03-09 

問題発生


#1366 - Incorrect integer value: '' for column 'parking' at row 3


原因


調査した結果、INT型カラムへ、VARCHARカラムより取得した値をINSERTしようとしていたことが判明


新たな問題発生


取得先のVARCHARカラムをINT型カラムへ変更しようとすると、既存データ影響により変更不可


対応


空文字をデフォルト値へ変更
UPDATE `ajaxsearch_master` SET `parking`=999 WHERE `parking`=''

取得先のVARCHARカラムをINT型カラムへ変更

ALTER TABLE `ajaxsearch_master` CHANGE `parking` `parking` INT NOT NULL DEFAULT '999';



最終的に


再度、試したところ、うまくいった
・取得先INT型カラム
・格納先INT型カラム


#1067 - Invalid default value for 'id'

Data truncated for column

コメント投稿(ログインが必要)