社区
Java SE
帖子详情
写sql进数据库(DB2)怎样实现自动插入(表的主键为String)
adonwjw
2002-01-22 03:28:40
写sql进数据库(DB2)怎样实现自动插入(表的主键为String)
其它字段为手动输入,而主键为自动更新
...全文
294
15
打赏
收藏
写sql进数据库(DB2)怎样实现自动插入(表的主键为String)
写sql进数据库(DB2)怎样实现自动插入(表的主键为String) 其它字段为手动输入,而主键为自动更新
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
15 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
adonwjw
2002-01-28
打赏
举报
回复
明白了,我还是把主键改成int,写函数又要增加开销了
谢谢几伟大虾
xmvigour
2002-01-25
打赏
举报
回复
"写sql进数据库(DB2)怎样实现自动插入(表的主键为String)"
如果在插入前,不用显示出来,其实还是挺好办的,那就是写一个函数,也是很容易解决的!
pengji
2002-01-25
打赏
举报
回复
如果并发问题比较严重,你可以把select max(id) ......
insert into ().....写在一个存储过程中来调用,不过还是要开启事务处理!
如果不用STRING就简单的多了!
xmvigour
2002-01-25
打赏
举报
回复
to : pengji(彭乃超):
确实是这样,以前我也经常这样干的,没办法,但后来老是有并发的问题!比如销售同时输单。
但你有没发现,竟然都是要加一的,为什么一定要用string类型的?难道用其它的就不行吗?
pengji
2002-01-25
打赏
举报
回复
当然要对表先进行LOCK喽,这不是最好的办法,但的确是可行的!哈哈!很多系统都是这样做的!ORACLE的sequence也不是String类型的,SQLSERVER也一样不是,如果要用String好象只有这种办法.
xmvigour
2002-01-25
打赏
举报
回复
to : pengji(彭乃超):先select max(id) from tbl where算出最大值再加1
但数据库如果并行操作怎么办???我觉得这是退而求其之的下策!
pengji
2002-01-24
打赏
举报
回复
是呀,好象这种自增长的字段一般都是非String类型的,如果要用String,可能要用我前面说的办法了!每次插入前先select max(id) from tbl where算出最大值再加1,不过你要保证以前数据库中的记录这一字段等长(长度不够前面加0).
xmvigour
2002-01-24
打赏
举报
回复
应该有自动增长的主键设置!不过好像都是int型的,而不是String!
oracle里有,sql server里也有,我想db2应该也有,不然……
adonwjw
2002-01-24
打赏
举报
回复
谢谢kendyzheng和pengji(彭乃超)了,看来的找db2高手
楼上的是学生吗?不知道db2......
adonwjw
2002-01-24
打赏
举报
回复
谢谢pengji(彭乃超)和kendyzheng了,看来得找数据库高手
adonwjw
2002-01-23
打赏
举报
回复
是不是在db2里面设置?
lpt
2002-01-23
打赏
举报
回复
hehe db2是什么数据库,是小型的吧!
pengji
2002-01-23
打赏
举报
回复
不好意思,忘记加1了.
有几种方法可以:
1.(最简单的)每次插入前先select max(id) from tbl where算出最大值再加1,不过你要保证以前数据库中的记录这一字段等长.(缺点:效率较低)
2.就是靠数据库实现.(不过很不好意思DB2我不大了解!)
pengji
2002-01-23
打赏
举报
回复
有几种方法可以:
1.(最简单的)每次插入前先select max(id) from tbl where算出最大值,不过你要保证以前数据库中的记录这一字段等长.(缺点:效率较低)
2.就是靠数据库实现.(不过很不好意思DB2我不大了解!)
kendyzheng
2002-01-22
打赏
举报
回复
DB2难道不支持主键的AUTOINCREMENT嘛?
db2
查看
表
结构_
SQL
-My
sql
表
结构操作
一 前言本篇内容是关于 基本的
数据库
操作,建
表
,
表
结构修改等内容;学习本篇的基础是知识追寻者以前发布的文章:《
SQL
-你真的了解什么
SQL
么?》《
SQL
-小白最佳入门
sql
查询一》《
SQL
-小白最佳入门
sql
查询二》《
SQL
- 多年开发人员都不懂的
插入
与更新删除操作注意点》《
SQL
-
SQL
事物操作》《
SQL
-My
sql
数据类型》公众号:知识追寻者知识追寻者(Inheriting the spir...
tkmybatis-解决
DB2
不能给自增长
主键
插入
null值问题
解决思路: 在
插入
时使用序列作为
主键
: 代码
实现
: /** * 解决
DB2
不能给自增长
主键
插入
null值问题 * * @author gzy * @date 2016年6月27日 下午6:50:09 * @param <T> */ @RegisterMapper public interface
Db2
InsertMapper<T> { /** *
插入
数据,用序列作为
主键
* @param record * @return */ @O
SQL
数据库
My
SQL
数据库
数据库
数据库
就是一个文件系统,访问数据的时候需要通过标准的
SQL
语言来完成。关系型的数据 保存的实体与实体之间的关系。(用户、商品、订单)常见的
数据库
Oracle 公司Oracle(甲骨文)数据产品,收费的大型的
数据库
。 My
SQL
开源的,被Oracle收购了,小型的
数据库
。5.x版本免费,6.x收费了。 ...
Oracle序列
实现
表
主键
的自增长(从0000000001开始)
Sequence(序列)是
数据库
系统的特性,有的
数据库
实现
了序列,有的则没有。比如Oracle、
DB2
、Postgre
SQL
数据库
实现
序列,My
SQL
、
SQL
Server、Sybase等
数据库
没有序列,序列是数据中一个特殊存放等差数列的
表
,该
表
受
数据库
系统控制,任何时候
数据库
系统都可以根据当前记录数大小加上步长来获取到该
表
下一条记录应该是多少,这个
表
没有实际意义,常常用来做
主键
用。不过各个
数据库
...
mybatis+my
sql
/oracle
数据库
批量
插入
,
主键
自增长
1 mybatis+oracle <!-- https://mvnrepository.com/artifact/com.oracle/ojdbc6 --> <dependency> <groupId>com.oracle</groupId> <artifactId>ojdbc6</artifactId>...
Java SE
62,634
社区成员
307,269
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章