在 Windows Server 2008 上的 SQL Server 2008 上,我有下面的查询,在执行时,我得到旧的“字符串或二进制数据将被截断”。
但是,这里真正奇怪的是,如果我将最后一个字段值(isOrganiser)更改为 2 到 9 之间,它运行良好。如果我将 114841 更改为 114741(并且该模式继续存在),同样的事情。那么问题是由整数字段引起的吗?还是位域?什么?
所以我很难过。一些额外的信息:
- 一些 int 列具有索引 - 我已将它们全部禁用,但我遇到了同样的问题。
- 此查询在其他应用程序中到处运行并且从未出现过问题 - 唯一不同的地方可能是记录的数量
- 虽然 ID 是 FK,但在 SQL 中不强制执行约束
该表有一个 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 );