在 advantage db table 中重置标识(自动递增字段)
Reset identity (auto increment field) in advantage db table
请告诉我如何在 Advantage Database Server 11.0 的 table 中重置自动增量字段。
在SQL服务器中,它是这样工作的:
DBCC CHECKIDENT ('tableName', RESEED, 0);
GO
更新:我想要的是将连续的值(1,2,3,4....)写入自动增量列。
当我使用显式 SQL 插入值时
INSERT INTO TABLE1 (ID) VALUES (1);
我希望在 table 中看到“1”。但是我得到了下一个标识值。
如果我知道你想要强制识别。
然后试试这个
SET IDENTITY_INSERT IdentityTable ON
INSERT IdentityTable(TheIdentity, TheValue)
VALUES (3, 'First Row')
SET IDENTITY_INSERT IdentityTable OFF
IdentityTable:您的 table
TheIdentity:列标识
TheValue:其他列...
解决方案是将标识列的类型更改为 INTEGER,并在进行更新后将其设置回 AUTOINC。
ALTER TABLE mytable ALTER COLUMN auto auto INTEGER;
INSERT INTO mytable SELECT * FROM myothertable;
ALTER TABLE mytable ALTER COLUMN auto auto AUTOINC;
解决方案位于 Advantage Database forum.
请告诉我如何在 Advantage Database Server 11.0 的 table 中重置自动增量字段。
在SQL服务器中,它是这样工作的:
DBCC CHECKIDENT ('tableName', RESEED, 0);
GO
更新:我想要的是将连续的值(1,2,3,4....)写入自动增量列。
当我使用显式 SQL 插入值时
INSERT INTO TABLE1 (ID) VALUES (1);
我希望在 table 中看到“1”。但是我得到了下一个标识值。
如果我知道你想要强制识别。 然后试试这个
SET IDENTITY_INSERT IdentityTable ON
INSERT IdentityTable(TheIdentity, TheValue)
VALUES (3, 'First Row')
SET IDENTITY_INSERT IdentityTable OFF
IdentityTable:您的 table TheIdentity:列标识 TheValue:其他列...
解决方案是将标识列的类型更改为 INTEGER,并在进行更新后将其设置回 AUTOINC。
ALTER TABLE mytable ALTER COLUMN auto auto INTEGER;
INSERT INTO mytable SELECT * FROM myothertable;
ALTER TABLE mytable ALTER COLUMN auto auto AUTOINC;
解决方案位于 Advantage Database forum.