注册
将已存在的列修改成自增列
专栏/Database Thinking/ 文章详情 /

将已存在的列修改成自增列

胡li 2022/09/23 2128 1 0
摘要 已经存在的表,某列不是自增列,如何修改为自增列

1、自增列仅支持int或者bigint类型和非空列约束,修改列的类型和设置为非空约束。

alter table "SYSDBA"."T" modify "ID" INT;
alter table "SYSDBA"."T" alter column "ID" set not null;

也可以使用管理工具图形界面操作:右击表名-选择【修改】
image.png
2、将ID设置成自增列

alter table "SYSDBA"."T" add column "ID" identity(1, 1);

可以通过管理工具图形界面进行修改,右击表名-选择【修改】
image.png

说明
使用说明
1.IDENTITY 适用于 INT(-2147483648~+2147483647)、BIGINT(-2 63 ~+2 63 -2)类型的列。每个表只能创建一个自增列;
2.不能对自增列使用 DEFAULT 约束;
3.必须同时指定种子和增量值,或者二者都不指定。如果二者都未指定,则取默认值(1,1)。若种子或增量为小数类型,报错;
4.最大值和最小值为该列的数据类型的边界;
5.建表种子和增量大于最大值或者种子和增量小于最小值时报错;
6.自增列一旦生成,无法更新,不允许用 UPDATE 语句进行修改;
7. 临时表、列存储表、水平分区表不支持使用自增列。

评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服