更改表中的列以在Sybase ASE 16.0中自动递增

时间:2019-04-30 18:22:12

标签: auto-increment sybase-ase alter

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

我已经阅读了许多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 DB的查询会在添加新记录时更改表中的user_id列以使其自动递增1

1 个答案:

答案 0 :(得分:1)

摘自文档:

将IDENTITY列添加到表中。对于表中的每个现有行,Adaptive Server都会分配一个唯一的连续列值。 IDENTITY列的类型可以是数字或整数,并且标度为零。精度确定可以插入到列中的最大值(10 5 -1或99,999):

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

找到了here