我使用Sybase ASE 15.5(Sybase AnyWhere)中的Sybase Central工具创建了几个表。我已经将列定义为主键(int数据类型),并且该列也已成为Identity。
现在来自Sybase Central,即使此表或任何引用的表中没有数据,也无法从该列中删除Identity。
有人可以帮忙吗?我不想使用Set IDENTITY_INSERT,我想从此列中完全删除身份行为。
由于
答案 0 :(得分:3)
您的问题有点令人困惑,因为我不确定您使用的是什么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