私はこれと同じ問題を抱えています:
SQLを使用して、DerbyでVARCHARをテーブルフィールドの長さに自動的に切り詰めるにはどうすればよいですか?
具体的には:
CREATE TABLE A ( B VARCHAR(2) ); AB 値に挿入 ('1234'); SQLException をスローします。
VARCHAR '123' を長さ 2 に縮小しようとして、切り捨てエラーが発生しました。
それはすでに答えられています:
いいえ、メタデータを確認してから切り落とす必要があります。または、毎回メタデータをチェックしたくない場合は、コードとデータベースの両方を同期させる必要があります。しかし、それは大したことではなく、バリデーターの通常のやり方です。
しかし、私の疑問は次のとおりです。VARCHARは、データに合わせてサイズを変更することを想定していませんか? apache derby の VARCHAR の何が問題になっていますか?