insert into user(id,name)
select UUID(),name from user2
这句sql直接执行没有任何问题。(id号去掉主键)
但是通过jdbc连接数据库,然后去执行,结果插入的数据ID号都是一样的,
请问这种情况怎么处理
UUID()是什么?你自己写的方法?
UUID()是数据库随机生成ID号的一种方法
@lanhuacaosen: 什么数据库?
mysql的内置函数,其他数据库都有类似的函数,基本上都是随机生成的,但是jdbc处理后就变成同一个了
@lanhuacaosen: 最吐血的是,同样的sql直接执行没问题,但jdbc一弄就是问题,hibernate也没有一样
@lanhuacaosen: UUID()是纳秒级的,可能你插入的数据太快了吧
@刘宏玺: 也不是吧,jdbc执行的速度总没有 直接运行SQL快吧,执行sql每次都没有问题的
@lanhuacaosen: 可能你直接执行sql的时候有回滚机制吧,jdbc就没有用到回滚,所以更快了
你jdbc 设置占位符的方式执行sql