2

あるテーブルから別のテーブルに行を挿入しようとしています。最初のテーブルでは、1つの列のデータ型はchar(5)ですが、同じ列の2番目のテーブルにはtinyint(4)データ型があります。挿入クエリを実行すると、

Incorrect integer value: '' for column 'x' at row 258

いくつかの制約に違反しているため、データ型を変更または変更できません。キャストを使用したり、charをtinyintに変換したりする方法はありますか?

ありがとう。

4

1 に答える 1

3

おそらく次のようなものが必要です。

INSERT INTO newtable
SELECT CASE WHEN x = '' THEN 0 ELSE x END
FROM oldtable

空白をゼロに変えたいと思いますか?そうでない場合は、空白に含める整数値を指定します。

他の例外がある場合は、CASE 式でより多くの代替手段を使用してください。

于 2013-02-04T20:00:34.483 に答える