如何使用 Datagrip 插入带有标识列的行?
How do I insert a row with an identity column with Datagrip?
在尝试使用 Datagrip 时,我遇到了一个主要障碍。
我有一个 Sql Azure table,其主键 "Id" 字段作为 Identity(1,1)
发送。在 Datagrip 中,它将列显示为 Id INT (auto increment)
。
我点击了 table 并打开了 table 编辑器。然后我添加了一条新记录,但将 Id
列留空。但是,当我提交更改时,它说它无法为标识列插入显式值。
是否无法在带有标识列的 Datagrip 中添加新记录?
如果要添加带有标识列的记录,则需要为特定的 table 打开 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
值得注意的是,这不是您应该保留的内容,因为您希望只对几条记录执行此操作。比如导入之前的数据。
看起来 issue 几年前就修复了。
在尝试使用 Datagrip 时,我遇到了一个主要障碍。
我有一个 Sql Azure table,其主键 "Id" 字段作为 Identity(1,1)
发送。在 Datagrip 中,它将列显示为 Id INT (auto increment)
。
我点击了 table 并打开了 table 编辑器。然后我添加了一条新记录,但将 Id
列留空。但是,当我提交更改时,它说它无法为标识列插入显式值。
是否无法在带有标识列的 Datagrip 中添加新记录?
如果要添加带有标识列的记录,则需要为特定的 table 打开 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
值得注意的是,这不是您应该保留的内容,因为您希望只对几条记录执行此操作。比如导入之前的数据。
看起来 issue 几年前就修复了。