首页 新闻 会员 周边

jdbc UUID的问题

0
悬赏园豆:100 [待解决问题]

insert into user(id,name)

select UUID(),name from user2

 

这句sql直接执行没有任何问题。(id号去掉主键)

但是通过jdbc连接数据库,然后去执行,结果插入的数据ID号都是一样的,

请问这种情况怎么处理

lanhuacaosen的主页 lanhuacaosen | 初学一级 | 园豆:106
提问于:2015-01-20 16:59
< >
分享
所有回答(2)
0

UUID()是什么?你自己写的方法?

刘宏玺 | 园豆:14020 (专家六级) | 2015-01-20 20:40

UUID()是数据库随机生成ID号的一种方法

支持(0) 反对(0) lanhuacaosen | 园豆:106 (初学一级) | 2015-01-20 20:42

@lanhuacaosen: 什么数据库?

支持(0) 反对(0) 刘宏玺 | 园豆:14020 (专家六级) | 2015-01-20 20:43

mysql的内置函数,其他数据库都有类似的函数,基本上都是随机生成的,但是jdbc处理后就变成同一个了

支持(0) 反对(0) lanhuacaosen | 园豆:106 (初学一级) | 2015-01-20 20:43

@lanhuacaosen: 最吐血的是,同样的sql直接执行没问题,但jdbc一弄就是问题,hibernate也没有一样

支持(0) 反对(0) lanhuacaosen | 园豆:106 (初学一级) | 2015-01-20 20:48

@lanhuacaosen: UUID()是纳秒级的,可能你插入的数据太快了吧

支持(0) 反对(0) 刘宏玺 | 园豆:14020 (专家六级) | 2015-01-20 20:50

@刘宏玺: 也不是吧,jdbc执行的速度总没有 直接运行SQL快吧,执行sql每次都没有问题的

支持(0) 反对(0) lanhuacaosen | 园豆:106 (初学一级) | 2015-01-20 20:52

@lanhuacaosen: 可能你直接执行sql的时候有回滚机制吧,jdbc就没有用到回滚,所以更快了

支持(0) 反对(0) 刘宏玺 | 园豆:14020 (专家六级) | 2015-01-20 20:53
0

你jdbc 设置占位符的方式执行sql

望成 | 园豆:202 (菜鸟二级) | 2018-01-13 21:11
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册