字符宽度超出

时间:2012-05-29 16:23:10

标签: sql netezza

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

INSERT INTO MASTER
select * from Table B

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

3 个答案:

答案 0 :(得分:0)

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

例如 - Table B的{​​{1}} column1可能VARCHAR(255)MASTER的{​​{1}}可能小于255。

答案 1 :(得分:0)

检查表MASTER的结构完全是否与表B相同。

可能是MASTER.colx是字符串(20)而B.colx是字符串(25)的问题,或者可能是字符集问题(unicode / latin-1 / utf-8 / iso-8859) -x)

答案 2 :(得分:0)

考虑将表MASTER创建为:

select *
  into master
  from tableB
 where 1=0

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