利用MySQL自增機制生成主鍵

  最近項目上遇到了奇怪的需求。

  有個項目,以前sql是一條一條即時執行的,但現在爲了效率考慮,需要先生成sql,最後再統一執行。這樣就引發了問題,主表數據還沒入庫,子表怎麼保存外鍵?

  以前公司,我們表裏的主鍵是42位UUID,這樣生成主鍵很容易,但是在現在的公司,表主鍵利用了MySQL的自增,是int(11)位的,其實這樣的字段是不規範的,規範點的應該用bigint,不然很容易到上限。用bigint也不會這麼麻煩了。

  想了很久也沒辦法,後來還是想到了老招數,一切解決不了的加個中間層就解決了。

  寫個函數,傳入表名,返回主鍵。先插入廢物數據,再刪除掉該數據,返回廢數據的主鍵。這樣就達到了id佔坑的目的。好簡單,但感覺不是最好的方法。

  ————————

  只是隨便寫點技術相關的藉機寫點兒,好久都沒寫了,新入職的公司也有坑的地方呀,但撈好錢多了,比之前就更能容忍了。而且不用週末加班……但是要遠程值班,挺坑。

  每週最少加3天到9點吧,目前是這樣,但做的東西確實好了很多,真的有不少人在用。而且南京是總部,感覺各種活動都能參加了。

  然後,技術方面也成長了很多,以前感覺自己很牛,在本來電網外包的地方,我從來都擡着頭哈哈哈,結果到這邊,做Java的中我是最菜的~表設計什麼的很少參加了,都是接口設計,框架設計之類我之前沒怎麼研究的。

  同事們大多90年左右,每天都很憂愁35歲危機,害~~搞得我也很擔心了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章