字符串或二进制数据会被截断 - 整数?

时间:2013-03-18 22:39:13

标签: sql sql-server-2008

在Windows Server 2008上的SQL Server 2008上,我有下面的查询,在执行时我得到旧的'字符串或二进制数据将被截断'。

但是,真正奇怪的是,如果我将最后一个字段值(isOrganiser)更改为2到9之间,它运行正常。如果我将114841更改为114741(并且该模式继续)也是如此。那问题是由整数字段引起的?还是比特字段?什么?

所以我很难过。几点额外的信息:

  1. 有些int列有索引 - 我已经将它们全部禁用了,我也遇到了同样的问题。
  2. 此查询在其他应用程序中的所有位置运行,并且从未出现过问题 - 此处只有不同的可能是记录数量
  3. 虽然ID是FK,但SQL
  4. 中没有强制执行约束
  5. 此表有一个ID列(100001种子和+1增量) - 每次执行错误时,都没有插入记录,但是插入的下一条记录的ID会增加,就像上一个错误一样已插入

    INSERT INTO [emailRecipient] (
        [recordTitle], 
        [createdByID], 
        [canUpdate], 
        [canDelete], 
        [isDeleted], 
        [canRemove], 
        [drsQuickSummary],
        [drsSummary], 
        [isEditLocked], 
        [sourceRID], 
        [insertIndex], 
        [isSaved], 
        [allowNextInsertTrigger],
        [allowNextUpdateTrigger], 
        [allowNextDeleteTrigger], 
        [emailRID], 
        [personID], 
        [organisationID],
        [emailAddressID], 
        [emailAddress], 
        [isOrganiser]
    )
    
    VALUES (
        '', 
        100002, 
        1, 
        1, 
        0, 
        0, 
        '', 
        '',
        0,
        '', 
        1, 
        1, 
        1, 
        0, 
        0, 
        100753, 
        102969, 
        114841, 
        102434, 
        'me@myplace.com', 
        0
    );
    

1 个答案:

答案 0 :(得分:1)

我怀疑你的一个触发器发生了截断。

哦,5个触发器?我怀疑这里可能会发生一些优化。 : - )