数据库怎么设置能让字段自动加1

当添加数据时让字段的值自动家... 当添加数据时让字段的值自动家 展开
 我来答
法芹恨X
推荐于2016-04-27 · TA获得超过101个赞
知道小有建树答主
回答量:700
采纳率:0%
帮助的人:0
展开全部
你是说浏览一次+1
还是提交一个数据时,自动填写1(可以在数据库里设置)
还是数据的前面或后面+1?
以上都能实现
匆匆小女子
2006-09-10 · TA获得超过118个赞
知道答主
回答量:179
采纳率:0%
帮助的人:0
展开全部
Mysql:
id int auto_increment primary key,
Sqlserver:
id_num int IDENTITY(1,1),
从1开始,每次增长1个单位;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
行走在1991
2012-05-13
知道答主
回答量:15
采纳率:0%
帮助的人:2万
展开全部
identity(1,1)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友10a24bf
2017-07-06 · TA获得超过1.3万个赞
知道大有可为答主
回答量:1.3万
采纳率:95%
帮助的人:2928万
展开全部
使用自增长字段为主键有不少问题,比如维护或是在大型分布应用中主键冲突的解决等。在一些大型分布应用中主键一般选用guid,这可以有效的避免主键冲突,减少对主键维护的工程。当然,对于中小型的应用,自增长字段的好处更多一些,简单、快速。
Sqlite中,一个自增长字段定义为INTEGER PRIMARY KEY AUTOINCREMENT,那么在插入一个新数据时,只需要将这个字段的值指定为NULL,即可由引擎自动设定其值,引擎会设定为最大的rowid+1。当然,也可以设置为非NULL的数字来自己指定这个值,但这样就必须自己小心,不要引起冲突。当这个rowid的值大于所能表达的最大值 9223372036854775807 (3.0及以后版本的rowid最大值)后,rowid的新值会这个最大数之前随机找一个没被使用了的值。所以在rowid达到最大值前,rowid的值是严格单调增加的。
INTEGER PRIMARY KEY AUTOINCREMENT 自增长字段的算法与rowid稍微有些不同。
第一,在达到最大值后,rowid会找已被删除的字段对应的rowid作为新值,而自增长字段则会丢出一个SQLITE_FULL的错误。
第二,自增长字段在增加新值时,是找一个从没被使用过的rowid作为新值,而rowid则是找最大已存在的rowid+1。这里对应用的影响会比较大,尤其是一些对id值有依赖的元记录,只适合使用自增长字段而不能用rowid。

比如,我们设计一个元记录表:
drop table test;
create table test (
[tkid] integer PRIMARY KEY autoincrement, -- 设置主键
[tktype] int default 0,
[tableid] varchar (50),
[createdate] datetime default (datetime('now', 'localtime')) -- 时间
);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
qzai2000
2006-09-11 · TA获得超过503个赞
知道小有建树答主
回答量:363
采纳率:0%
帮助的人:224万
展开全部
同上。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 3条折叠回答
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式