首页 > 解决方案 > SQL - 将整个表复制到另一个表时出错

问题描述

我正在尝试制作一个表的副本,即将架构和数据复制到一个新表中,但是我遇到了一些我无法真正理解错误消息的问题。

我的原始表架构如下所示。有 54 个字段。对于数据保护问题,我必须阻止所有字段名。

在此处输入图像描述

我创建了一个新表,架构看起来完全一样,除了一件事 - 它有一个列,每个记录都有一个自动生成的 id(以红色突出显示的字段名):

在此处输入图像描述

然后我运行以下命令将数据从 table1 复制到 table2:

insert into HDM_XXX.XXX.XXX_Table_2
select * from HDM_XXX.XXX.XXX_Table_1

但是产生了以下错误:

Msg 8152, Level 16, State 2, Line 1
String or binary data would be truncated.
The statement has been terminated.

Completion time: 2020-11-29T21:42:13.6804543+00:00 

我真的很感激任何提示!

标签: sqlsql-server

解决方案


列出所有共同的列!

insert into HDM_XXX.XXX.XXX_Table_2 ( col1, col2, . . . )
    select col1, col2, . . .
    from HDM_XXX.XXX.XXX_Table_1

推荐阅读