怎么设置主键自增

怎么设置主键自增,第1张

以sqlserver为例,可用如下语句设置:

create table test

(id int identity(1,1),primary key(id),

name varchar(10))

其中identity(1, 1)为设置主键自增的部分,前边一个1表示从1开始计数,后边一个1表示每次增加的数量。primary key(id)代表id列为主键。

连续执行如下语句:

insert into test(name) values ('a')

insert into test(name) values ('b')

insert into test(name) values ('b')

如图可见,id列达到了自增的目的。

保证程序的正确性,主键ID首先具有唯一性,设置自动增长在前台Insert的时候不需要传入ID的值,数据库自动根据最后一个ID值增加1 保证数据库主键不重复而且调用更为高效。

假如说没有设置自动增长 在insert一条记录的时候需要人为传递ID值。要保证唯一性必须要先获得上条记录的ID用select 然后再加一 然后在执行insert 从效率方面降低程序的灵活性。

个人见解。

建立一个序列啊,每次从序列中取值,提醒一下插入值的时候不要插入主键,用一个触发器自动插入主键的值,给你我的一个案例

CREATE OR REPLACE TRIGGER CRC_028_INOUT_SUMMARY_T(触发器名)

BEFORE INSERT ON CRC_028_INOUT_SUMMARY(表名称)

FOR EACH ROW

DECLARE

L_SUMMARY_ID NUMBER := 0;

BEGIN

-- CRC_028_INOUT_SUMMARY_S 是序列名

SELECT CRC_028_INOUT_SUMMARY_SNEXTVAL INTO L_SUMMARY_ID FROM DUAL;

:NEWSUMMARY_ID := L_SUMMARY_ID;

END;

好好看看,可以参考我的博客:>

保证程序的正确性,主键ID首先具有唯一性,设置自动增长在前台Insert的时候不需要传入ID的值,数据库自动根据最后一个ID值增加1保证数据库主键不重复而且调用更为高效。

假如说没有设置自动增长在insert一条记录的时候需要人为传递ID值。要保证唯一性必须要先获得上条记录的ID用select然后再加一然后在执行insert从效率方面降低程序的灵活性。

个人见解。

以上就是关于怎么设置主键自增全部的内容,包括:怎么设置主键自增、数据库设置主键的时候用,为什么设置自动增长、怎么让oracle数据库的主键自增等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10195315.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-06
下一篇 2023-05-06

发表评论

登录后才能评论

评论列表(0条)

保存