2 qq 25496571 qq_25496571 于 2017.01.08 22:44 提问

急求,我想实现注册时,数据库中的主键自动+1

我是用Java写的,然后设置了静态变量id,每次插入注册的内容是id+1,但是它在注册时会出现违反了PRIMARY KEY 约束‘PK_user‘(我要插入数据的数据库中的表的名字是dianjia)

13个回答

zjn640322
zjn640322   2017.01.09 08:09

你的主键类型是什么?主键你设置了自增,就不需要再插入值得时候赋值,赋值就会报错

small_kidy
small_kidy   2017.01.08 22:54

你的主健是ID这个字段还是user这个字段,主健自增插入时就不需要给主键赋值

plazyj
plazyj   2017.01.08 23:01

为什么不用序列啊,序列自增不就完了

lyhoo163
lyhoo163   Rxr 2017.01.09 07:18

主键使用日期时间值,也不会重复的。

Lyndon89757
Lyndon89757   2017.01.09 08:14

首先,你的DB是oracle还是sqlserver, oracle最好用序列,sqlserver好像有个自增的checkbox,尽量不要用程序处理主键,不然可能会造成死锁,后果不堪设想。

sj18182656342
sj18182656342   2017.01.09 08:34

建一个序列id 引用序列的自增长

YoFog
YoFog   2017.01.09 09:04

写一个sequence不就好了吗

code_ang
code_ang   2017.01.09 09:25

你用的什么数据库啊,oracle用序列,mysql直接设置主键自增就好了

xionglangs
xionglangs   Rxr 2017.01.09 09:55

你的id静态变量用的是int类型,是否超过了它的长度,你这样做如果超过了int类型的长度,这个是会报错的,所以不建议使用静态变量自增,可以使用数据库的sequence,或者是在添加前查询一下最大id,之后加一。

u012976158
u012976158   2017.01.09 10:46

数据库中id设置为主键自增 那么在你注册插入数据的时候不用插入id的值,数据库会自动给你生成

共13条数据 1 尾页
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!