列 A、列 B、列 C を含むマスター テーブルを作成します。次のコマンドを使用して、別のテーブルから行を挿入しようとするたびに:
INSERT INTO MASTER
select * from Table B
「文字幅を超えました」というエラーメッセージが表示されます。理由はわかりません。
テーブル MASTER を次のように作成することを検討してください。
select *
into master
from tableB
where 1=0
これにより、2 つのテーブル間で列のデータ型が同じであることが保証されます。その後、もう一度挿入を試すことができます。
の 1 つ以上の列サイズがTable B
のそれぞれの列サイズより大きい可能性がありMASTER
ます。
たとえば、 -は であり、 は 255 未満である可能性がTable B
あります。column1
VARCHAR(255)
MASTER
column A
テーブル MASTER の構造がテーブル B とまったく同じかどうかを確認します。
おそらく、MASTER.colx が文字列(20)で B.colx が文字列(25)である問題か、文字セットの問題 (unicode/latin-1/utf-8/iso-8859-x) である可能性があります。