Sybase使用 identity 完成主键自增

使用sybase 时将userId字段设置为identity属性,即为自增.
但是sybase中自增时有时会跳跃,即 上一条还是5,下一条可能一下跳到500000+ 了.
with identity_gap = 1 可以设置跳跃值为1.

CREATE TABLE k_user(
  userId bigint  identity,
  userName varchar(10) NULL,
  password  varchar(10) NULL,
  constraint pk_k_user PRIMARY KEY (userId)
)with identity_gap=1

insert into k_user('kk','pas');
insert into k_user(userName,password)values('kk','pas');

补充:

1.sybase数据库中的numeric[(p[,s])]

固定精度和小数位数,使用最大精度时,有效值的范围为 -10^38 + 1 到 10 ^ 38 - 1.
decimal 的 ISO 同义词为 dec 和 dec(p,s).
numeric在功能上等价于 decimal.

p(精度)
  最多可以存储的十进制数字的总位数,包括小数点左边和右边的位数.该精度必须是从 1 到最大精度 38 之间的值.默认精度为 18.
s (小数位数)
  小数点右边可以存储的十进制数字的最大位数.小数位数必须是从 0 到 p 之间的值.仅在指定精度后才可以指定小数位数.默认的小数位数为 0.

2.sybase数据库修改表结构语句

sybase 中可以对现有的表结构进行增加,修改(可以增大长度,也可以减少,在oracle中
只能增大),删除(在oracle中不容许)
alter table add  ... (增加)
alter table modify ... (修改)
alter table drop ...  (删除)
比如:
alter table ABC add a1 varchar(10) null,a2 numeric(10) null,....
alter table ABC modify a1 varchar(20) null,a2 numeric(5) null,...
alter table ABC drop a2

3.sybase字段类型

Sybase使用 identity 完成主键自增_第1张图片
Sybase使用 identity 完成主键自增_第2张图片

你可能感兴趣的:(数据库)