2

Apache derby データベース v 10.9.1.0 を使用しています。bigint 型の列LawID を持つ既存のテーブルCountryが 1 つあります。整数データのみを持つレコードが含まれます。ビジネス上の理由により、データ型を ' bigint ' から ' varchar 'に変更する必要があります。既存のテーブルを変更するには、次の2つの方法を試しました。しかし、どちらの方法もうまくいきませんでした。

を。最初の方法

    ALTER TABLE Country ADD COLUMN LawID_NEW VARCHAR(50);
    UPDATE Country SET LawID_NEW  = LawID;
    ALTER TABLE Country DROP COLUMN LawID;
    RENAME COLUMN Country.LawID_NEW TO LawID;

:Columns of type 'VARCHAR' cannot hold values of type 'BIGINT'. のようなメッセージが表示されます。

b. 二番目の道

ALTER TABLE Country ALTER LawID SET DATA TYPE VARCHAR(50);

次のようなエラー メッセージが表示されます: 列 'LawID' に指定された型が無効です。列のタイプは変更できません。

正しい変更クエリに関連するヘルプは非常に高く評価されています、ありがとう

4

2 に答える 2