【发布时间】:2019-08-21 20:59:17
【问题描述】:
我正在将数据插入数据库中的表中。我最近在该表中添加了一个新列。现在我正在将数据插入到该表中,同时还填写所述新列。我的问题是,除了新列的数据之外,所有内容都正确插入。
任何人都可以在这里帮助我了解为什么我的新列没有被填充吗?
插入语句:
INSERT INTO [data].[{tablename}] ([Id], [Name], [{new column name}])
VALUES (NEWID(), '1', '{new column value}' )
地点:
Id的类型为[uniqueidentifier] not null uniqueName的类型为[nvarchar] not null[{new column name}]的类型为[uniqueidentifier] null
所以,这个插入语句被成功执行。 Id 和 Name 列包含一些值,但新添加的第三列不包含任何数据。
【问题讨论】:
-
检查表上的触发器。如果您不是从 Management Studio 执行此操作,还可以使用 Profiler 检查基本的“是否已插入”条件,以查看哪些语句实际进入数据库。您的表是否真的按字面意思命名为
{tablename}或者此语句是否经过某种预处理? -
如果执行三个值的insert语句,新行第三列是否包含null?
-
是的。我在插入语句中发送了有效的 ID。但是在isert语句执行成功后它包含null。
-
你能展示样本数据吗?新列值实际上是唯一标识符类型值吗?
-
使它成为一个非空列,看看你得到了什么错误。只是一个调试的想法。