我创建了一个包含A列,B列和C列的主表。每当我尝试使用以下命令从另一个表插入行时:
INSERT INTO MASTER
select * from Table B
我收到错误消息“超出字符宽度”。我不知道为什么。
答案 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
这将保证两个表之间的列数据类型相同。然后你可以再次尝试插入。