2017-07-17 82 views
2

我试图插入一个很大的行(4亿行)的一行。该表在列(2,1)的列(1,2)和nonclustered index上有3列(integer, varchar(128),varchar(255)), primary keyclustered index,列3上有非列的非聚集索引。没有外键,没有触发器。Sybase ASE 15.5:一个成功的插入没有任何作用

当我这样做:

insert into mytable values (0,'test_name','test_val') 

它成功地执行了,但它没有任何效果,没有被插入,我想成功,而应该说“重复键”我可以重新执行多次。

可能是什么问题?

注意:noexec关闭,手动提交不会改变任何内容。

回答

1

您可能在其中一个索引上有ignore_dup_keyoption。检查sp_help过程的结果以查看用于索引的所有选项。

+0

也许吧。我会检查。但是那些没有插入的行呢? – Sybuser

+0

这就是这个选项的行为。它跳过行并不插入它们。 –

+0

任何索引都没有这样的设置。我放弃了这个问题,并重新装载了一个新的垃圾箱。这个问题消失了。 – Sybuser

0

根据文档,如果ignore_dup_key是罪魁祸首,当它取消插入时,您应该会收到一条错误消息。您需要提供有关错误日志信息的更多详细信息,如何插入该行。 。等 这里的文件说,关于以前的答复中提到的指数期权是什么:

当你开始输入数据,任何试图插入重复键与一个错误消息取消

+0

如果ignore_dup_key启动,您不会收到错误,但会发出警告'忽略重复键',并且事务继续(在这种情况下,只有1行,所以它已完成) – RobV

+0

另一种可能(尽管有点牵强)的解释是,表上有触发器以某种方式删除插入的行。 – RobV