0

列 A、列 B、列 C を含むマスター テーブルを作成します。次のコマンドを使用して、別のテーブルから行を挿入しようとするたびに:

INSERT INTO MASTER
select * from Table B

「文字幅を超えました」というエラーメッセージが表示されます。理由はわかりません。

4

3 に答える 3

0

テーブル MASTER を次のように作成することを検討してください。

select *
  into master
  from tableB
 where 1=0

これにより、2 つのテーブル間で列のデータ型が同じであることが保証されます。その後、もう一度挿入を試すことができます。

于 2012-05-29T16:38:31.133 に答える
0

の 1 つ以上の列サイズがTable Bのそれぞれの列サイズより大きい可能性がありMASTERます。

たとえば、 -は であり、 は 255 未満である可能性がTable Bあります。column1VARCHAR(255)MASTERcolumn A

于 2012-05-29T16:30:33.943 に答える
0

テーブル MASTER の構造がテーブル B とまったく同じかどうかを確認します。

おそらく、MASTER.colx が文字列(20)で B.colx が文字列(25)である問題か、文字セットの問題 (unicode/latin-1/utf-8/iso-8859-x) である可能性があります。

于 2012-05-29T16:32:48.623 に答える