新列提供插入错误:列名称或提供的值数与表定义不匹配

时间:2017-07-21 10:26:44

标签: sql-server

我有一个SQL Server表,该网站已经运行插入,没问题。然后我添加了一列(允许空值),我得到指定的错误。我已经编辑了插入以包含新列,但是我得到了相同的错误。我编写了表的脚本,重新创建了它的副本(包含所有约束的副本等),并且插入运行正常(有或没有新列)。删除新列(在原始表中),我可以再次运行插入。这是insert,它适用于表的副本,但不适用于表本身。谷歌搜索只是举例说明人们有插入无效的问题,但我的是!请有人帮忙吗?

insert into tbleventstest
(
      [text]
      ,[SeriesId]
      ,[eventStart]
...truncated.
      ,[fba] --new column
)
values
(
      'flibble'  --[text]
      ,666411 --[SeriesId]
      ,'01-jan-2017 13:00' --[eventStart]
...truncated.
      ,null --[fba]
)

1 个答案:

答案 0 :(得分:0)

好的,解决了我自己的问题。万一它可以帮助其他人:有问题的表有一个类似的触发器......

插入tblEvents_copy     select * from inserted i where etc ....

(其中tblevents_copy显然是一个相同的表,由其他人添加,我已经忘记了)。

因此,错误是由于尝试插入tblevents_copy而不是我的初始插入而引起的。我要考虑的问题是,错误消息可以更清楚地解释哪个表失败的插入。本来可以节省我很多时间。感谢任何看过的人。不知道为什么我的问题有-4 ......