我使用 Sybase ASE 15.5 (Sybase AnyWhere) 中的 Sybase Central 工具创建了几个表。我已将一列定义为主键(int 数据类型),并且不知何故该列也变成了 Identity。
现在从 Sybase Central 中,我无法从该列中删除 Identity,即使此表或任何引用的表中都没有数据。
有人可以帮忙吗?我不想使用 Set IDENTITY_INSERT,我想从该列中完全删除身份行为。
谢谢
我使用 Sybase ASE 15.5 (Sybase AnyWhere) 中的 Sybase Central 工具创建了几个表。我已将一列定义为主键(int 数据类型),并且不知何故该列也变成了 Identity。
现在从 Sybase Central 中,我无法从该列中删除 Identity,即使此表或任何引用的表中都没有数据。
有人可以帮忙吗?我不想使用 Set IDENTITY_INSERT,我想从该列中完全删除身份行为。
谢谢
您的问题有点令人困惑,因为我不确定您使用的是什么 Sybase 软件或软件版本。Sybase ASE 15.5 与 Sybase SQL Anywhere 不同,但希望这些步骤无论如何都能奏效。
您不能从列中删除标识行为,但可以更改表以完成相同的操作。以下是您应该采取的保存数据的步骤。确保表上没有索引。
(可选)如果您针对该表编写了任何代码,您可能希望将新列重命名为与刚刚删除的列相同的名称。
alter table TABLE_NAME add NEW_COL int NULL
go
update TABLE_NAME set NEW_COL = ID_COL_NAME
go
alter table TABLE_NAME drop ID_COL_NAME
go
alter table TABLE_NAME rename NEW_COL to ID_COL_NAME
go