課程
/后端開發(fā)
/Java
/MyBatis-Plus入門
為什么主鍵設(shè)置自增了,數(shù)據(jù)庫也要設(shè)置,是避免雪花作用嗎?
2019-08-24
源自:MyBatis-Plus入門 6-2
正在回答
? ? ? ?Mysql支持主鍵自增,主鍵自增是依賴于數(shù)據(jù)庫的機制,所以數(shù)據(jù)庫中也要進行設(shè)置。有些數(shù)據(jù)庫沒有自增的主鍵,例如oracle,如果要實現(xiàn)主鍵自增依賴于sequence序列。
? ? ? ?雪花算法是MP默認(rèn)的主鍵策略,是通過Java程序生成的自增主鍵,不依賴于數(shù)據(jù)庫。如果想使用數(shù)據(jù)庫的自增,除了在MP中將主鍵策略設(shè)為自增,還要在數(shù)據(jù)庫中進行設(shè)置。
老猿
佛系biu 提問者
老猿 回復(fù) 佛系biu 提問者
從兩個方面解釋:
首先在java中能實現(xiàn)主鍵自增依賴于jdbc驅(qū)動,比如MySQL驅(qū)動支持,但是一些其他的數(shù)據(jù)庫就不支持自增.而MySQL驅(qū)動支持是因為MySQL提供了設(shè)置主鍵自增功能.
在java幫你自動生成主鍵id時,會去查詢數(shù)據(jù)庫拿到next Max Id,而這需要數(shù)據(jù)庫的這個主鍵開啟了自增功能,數(shù)據(jù)庫才會去維護這個自增關(guān)系
舉報
MyBatis-Plus框架入門必學(xué)課程!
4 回答UpdateWrapper更新字段時如何設(shè)置自增和自減
2 回答oracle數(shù)據(jù)庫查詢最新數(shù)據(jù)
2 回答數(shù)據(jù)表配置
2 回答oracle數(shù)據(jù)庫 分頁問題
1 回答AR模式下,數(shù)據(jù)無法插入到mysql數(shù)據(jù)庫
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網(wǎng)安備11010802030151號
購課補貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號
2019-08-25
? ? ? ?Mysql支持主鍵自增,主鍵自增是依賴于數(shù)據(jù)庫的機制,所以數(shù)據(jù)庫中也要進行設(shè)置。有些數(shù)據(jù)庫沒有自增的主鍵,例如oracle,如果要實現(xiàn)主鍵自增依賴于sequence序列。
? ? ? ?雪花算法是MP默認(rèn)的主鍵策略,是通過Java程序生成的自增主鍵,不依賴于數(shù)據(jù)庫。如果想使用數(shù)據(jù)庫的自增,除了在MP中將主鍵策略設(shè)為自增,還要在數(shù)據(jù)庫中進行設(shè)置。
2019-08-24
從兩個方面解釋:
首先在java中能實現(xiàn)主鍵自增依賴于jdbc驅(qū)動,比如MySQL驅(qū)動支持,但是一些其他的數(shù)據(jù)庫就不支持自增.而MySQL驅(qū)動支持是因為MySQL提供了設(shè)置主鍵自增功能.
在java幫你自動生成主鍵id時,會去查詢數(shù)據(jù)庫拿到next Max Id,而這需要數(shù)據(jù)庫的這個主鍵開啟了自增功能,數(shù)據(jù)庫才會去維護這個自增關(guān)系