利用MySQL自增机制生成主键
最近项目上遇到了奇怪的需求。
有个项目,以前sql是一条一条即时执行的,但现在为了效率考虑,需要先生成sql,最后再统一执行。这样就引发了问题,主表数据还没入库,子表怎么保存外键?
以前公司,我们表里的主键是42位UUID,这样生成主键很容易,但是在现在的公司,表主键利用了MySQL的自增,是int(11)位的,其实这样的字段是不规范的,规范点的应该用bigint,不然很容易到上限。用bigint也不会这么麻烦了。
想了很久也没办法,后来还是想到了老招数,一切解决不了的加个中间层就解决了。
写个函数,传入表名,返回主键。先插入废物数据,再删除掉该数据,返回废数据的主键。这样就达到了id占坑的目的。好简单,但感觉不是最好的方法。
————————
只是随便写点技术相关的借机写点儿,好久都没写了,新入职的公司也有坑的地方呀,但捞好钱多了,比之前就更能容忍了。而且不用周末加班……但是要远程值班,挺坑。
每周最少加3天到9点吧,目前是这样,但做的东西确实好了很多,真的有不少人在用。而且南京是总部,感觉各种活动都能参加了。
然后,技术方面也成长了很多,以前感觉自己很牛,在本来电网外包的地方,我从来都抬着头哈哈哈,结果到这边,做Java的中我是最菜的~表设计什么的很少参加了,都是接口设计,框架设计之类我之前没怎么研究的。
同事们大多90年左右,每天都很忧愁35岁危机,害~~搞得我也很担心了。
By:努力向前的菜B