在尝试使用 Datagrip 时,我遇到了一个主要障碍。
我有一个带有主键“Id”字段的 Sql Azure 表,该字段作为Identity(1,1)
. 在 Datagrip 中,它将列显示为Id INT (auto increment)
。
我单击表格并打开表格编辑器。然后我添加了一条新记录,但将该Id
列留空。但是,当我提交更改时,它说它不能为标识列插入显式值。
不能在 Datagrip 中使用标识列添加新记录吗?
在尝试使用 Datagrip 时,我遇到了一个主要障碍。
我有一个带有主键“Id”字段的 Sql Azure 表,该字段作为Identity(1,1)
. 在 Datagrip 中,它将列显示为Id INT (auto increment)
。
我单击表格并打开表格编辑器。然后我添加了一条新记录,但将该Id
列留空。但是,当我提交更改时,它说它不能为标识列插入显式值。
不能在 Datagrip 中使用标识列添加新记录吗?
看起来这个问题在几年前就已经解决了。
如果要添加带有标识列的记录,则需要IDENTITY_INSERT
为特定表打开。
https://msdn.microsoft.com/en-AU/library/ms188059.aspx
SET IDENTITY_INSERT tblYourTable ON
INSERT INTO tblYourTable (ID, Name...) VALUES (1, 'Foo', ...)
SET IDENTITY_INSERT tblYourTable OFF
值得注意的是,这不是您应该保留的内容,因为期望您只想为几条记录执行此操作。例如,导入以前的数据。