将 table 中的列更改为在 Sybase ASE 16.0 中自动递增

Alter column in table to auto increment in Sybase ASE 16.0

我正在使用 Sybase ASE16.0 数据库,我试图在其中更改现有 USER table 中的列,以便每次向 table 添加行时它自动递增。列:user_id 设置为主键而不是空。

我看了很多 sybase 教程,尝试了很多方法,但都无济于事。以下是我为进行此更改而编写的一些查询:

ALTER TABLE USER (user_id smallint IDENTITY not null)
ALTER TABLE USER ALTER user_id smallint IDENTITY not null
ALTER TABLE USER MODIFY user_id smallint NOT NULL IDENTITY
ALTER TABLE USER MODIFY user_id smallint NOT NULL AUTO_INCREMENT
ALTER TABLE USER MODIFY user_id smallint NOT NULL AUTOINCREMENT
ALTER TABLE USER ALTER user_id smallint NOT NULL AUTOINCREMENT
ALTER TABLE USER user_id smallint AUTOINCREMENT

我希望 SYBASE 数据库兼容查询会更改 table 中的 user_id 列,以便在添加新记录时自动将其递增 1

来自文档:

将 IDENTITY 列添加到 table。对于 table 中的每个现有行,Adaptive Server 分配一个唯一的顺序列值。 IDENTITY 列可以是数字或整数类型,并且小数位数为零。精度决定了可以插入到列中的最大值(10 5 -1,即99,999):

alter table sales_daily add ord_num numeric (5,0) identity

找到here