整数値が正しくありません:列の ''



Incorrect Integer Value



謙虚な人々は、データベースストレージを操作するときにそのような問題に遭遇しました。
SQLステートメントを実行してデータをバッチで挿入するとエラーが報告されます



Incorrect integer value: '' for column 'zhuticengshu' at row 1

私のデータベーステーブルの設計は非常に単純です。
率直に言って、それは記録することであり、将来そのようなエラーを避けるためです
ここで、idは自己増加IDであり、残りのフィールドは非主キーであり、実行中は常にエラーが報告されます。

Incorrect integer value: '' for column 'zhuticengshu' at row 1

問題テスト

まず、バックグラウンドで印刷されたSQLをコピーします
Navicatを介してバルクデータが挿入されると、データは例外なく正常に挿入されます。



データを挿入



問題が解決しました

最後に、私はグーグルで検索し、5以降のmysqlバージョンでこのような問題が発生することを発見しました。NULLを使用するにはヌル文字を挿入してください

INSERT INTO ${tableName}( ${item.fieldName} ) VALUES ( NULL '${extitem.value}' )

オンラインで情報を確認し、5を超えるバージョンが空の場合は、NULLを書き込む必要があることを確認してください。
この種の問題は通常、mysql5.xで発生します。

バージョンの選択()を使用して表示し、

私はmysql5.0.37を使用しており、バックアップを作成したMySQLデータベースのバージョンは5.6です。

公式の説明:新しいバージョンのmysqlにはnull値の挿入に関する「バグ」があることを知りました。
mysqlをインストールするときにデフォルトでenablestrictSQLモードチェックを削除するには
次に、mysqlをインストールした場合、解決策はmysqlmy.iniの構成を変更することです。

Find sql-mode in my.ini, The default is sql-mode = 'STRICT_TRANS_TABLES, NO_AUTO_CREATE_USER, NO_ENGINE_SUBSTITUTION', Modify it to sql-mode = 'NO_AUTO_CREATE_USER, NO_ENGINE_SUBSTITUTION', just restart mysql

一緒に励まし、勉強するためにそれを記録してください。