0

我创建了一个包含 A 列、B 列和 C 列的主表。每当我尝试使用以下命令从另一个表中插入行时:

INSERT INTO MASTER
select * from Table B

我收到错误消息“超出字符宽度”。我不确定为什么。

4

3 回答 3

0

可能是 的一个或多个列大小Table B大于 的相应列大小MASTER

例如 - Table B'scolumn1可能是VARCHAR(255)并且MASTER'scolumn A可能小于 255。

于 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 回答
0

考虑将表 MASTER 创建为:

select *
  into master
  from tableB
 where 1=0

这将保证两个表之间的列数据类型相同。然后您可以再次尝试插入。

于 2012-05-29T16:38:31.133 回答