Sybase IQ:使用autoincrement列加载表

时间:2014-07-24 01:31:00

标签: sybase sybase-iq

我需要将表从数据库A传输到数据库B,该表有一个自动增量列。新数据库中表的内容必须与原始数据库中的表相同,包括自动增量列中的值。

以下LOAD TABLE(其中col1是自动增量列)不起作用:

set identity_insert TableName on;
LOAD TABLE TableName
(col1,col2,col3)
FROM 'file.csv';

我收到以下错误:

无法插入或更新列col1:将选项'identity_insert'设置为包含要修改的标识列的特定表名。

仍然,我正在设置identity_insert选项。这个命令出了什么问题?

2 个答案:

答案 0 :(得分:1)

请尝试

SET TEMPORARY OPTION IDENTITY_INSERT = 'MyTable';

这已在SCN

上讨论过

答案 1 :(得分:0)

DEFAULTS OFF看起来应该用作选项,如果你想要提取默认身份(自动增量)值。

请参阅:http://infocenter.sybase.com/help/index.jsp?topic=/com.sybase.infocenter.dc00801.1530/doc/html/san1281564935243.html

如果这不起作用,这只是一次性的事情......最简单的方法是将表加载到没有自动增量的TableName_work中,然后通过一个数据将数据插入目的地选择带有identity_insert的语句。