sql,ALTER TABLE 表名,ADD (主键列名 NUMBER(10) GENERATED ALWAYS AS IDENTITY,,CONSTRAINT 主键约束名 PRIMARY KEY (主键列名));,
“1、创建表时设置主键自增
2、修改已有表的主键自增
下面分别介绍这两种情况的具体操作。
创建表时设置主键自增
1、使用CREATE TABLE
语句创建表,并设置主键字段为自增,创建一个名为employees
的表,其中id
为主键,且自动递增:
CREATE TABLE employees ( id NUMBER(10) PRIMARY KEY GENERATED ALWAYS AS IDENTITY, name VARCHAR2(50), age NUMBER(3), department_id NUMBER(10) );
2、插入数据时,不需要为主键字段赋值,数据库会自动为其分配一个递增的值,插入一条员工记录:
INSERT INTO employees (name, age, department_id) VALUES ('张三', 25, 1001);
修改已有表的主键自增
1、如果已经创建了表,但未设置主键自增,可以使用ALTER TABLE
语句修改表结构,将主键字段设置为自增,将employees
表中的id
字段设置为自增:
ALTER TABLE employees MODIFY id NUMBER(10) PRIMARY KEY GENERATED ALWAYS AS IDENTITY;
2、如果表中已经有数据,需要先删除表中的数据,然后再执行上述ALTER TABLE
语句,因为一旦设置了主键自增,之前插入的数据可能会与新的主键冲突,删除employees
表中的所有数据:
DELETE FROM employees;
3、再次执行ALTER TABLE
语句,将主键字段设置为自增:
ALTER TABLE employees MODIFY id NUMBER(10) PRIMARY KEY GENERATED ALWAYS AS IDENTITY;
4、现在可以重新插入数据,数据库会自动为主键字段分配递增的值。
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/636332.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复