利用MySQL自增机制生成主键
最近项目上遇到了奇怪的需求。
有个项目,以前sql是一条一条即时执行的,但现在为了效率考虑,需要先生成sql,最后再统一执行。这样就引发了问题,主表数据还没入库,子表怎么保存外键?
以前公司,我们表里的主键是42位UUID,这样生成主键很容易,但是在现在的公司,表主键利用了MySQL的自增,是int(11)位的,其实这样的字段是不规范的,规范点的应该用bigint,不然很容易到上限。用bigint也不会这么麻烦了。
想了很久也没办法,后来还是想到了老招数,一切解决不了的加个中间层就解决了。
写个函数,传入表名,返回主键。先插入废物数据,再删除掉该数据,返回废数据的主键。这样就达到了id占坑的目的。好简单,但感觉不是最好的方法。
————————
只是随便写点技术相关的借机写点儿,好久都没写了,新入职的公司也有坑的地方呀,但捞好钱多了,比之前就更能容忍了。而且不用周末加班……但是要远程值班,挺坑。
每周最少加3天到9点吧,目前是这样,但做的东西确实好了很多,真的有不少人在用。而且南京是总部,感觉各种活动都能参加了。
然后,技术方面也成长了很多,以前感觉自己很牛,在本来电网外包的地方,我从来都抬着头哈哈哈,结果到这边,做Java的中我是最菜的~表设计什么的很少参加了,都是接口设计,框架设计之类我之前没怎么研究的。
同事们大多90年左右,每天都很忧愁35岁危机,害~~搞得我也很担心了。
By:努力向前的菜B
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义