第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

mysql自增字段與主鍵問(wèn)題

mysql添加了一個(gè)自增主鍵id,但是在生成的實(shí)體類(lèi)中我不想用id作為默認(rèn)主鍵,我想用字段userid為主鍵,包括用到的查詢(xún)getById等都是用userid進(jìn)行查詢(xún),需要怎樣設(shè)置才行?目前用mybatis-plus generator自動(dòng)生成的實(shí)體如下:

@ApiModelProperty(value?=?"ID")
@TableId(value?=?"ID",?type?=?IdType.AUTO)
private?Integer?id;

@ApiModelProperty(value?=?"用戶(hù)ID")
@TableField("UserID")
private?String?UserID;


正在回答

1 回答

不太理解你為什么要這么做,你把@TableId設(shè)置到UserID上,主鍵策略設(shè)置為

type?=?IdType.INPUT?該類(lèi)型主鍵表示新增時(shí)由你自己插入主鍵
0 回復(fù) 有任何疑惑可以回復(fù)我~
#1

老猿

你試試,這樣做應(yīng)該可以實(shí)現(xiàn)你說(shuō)的功能,就相當(dāng)于欺騙MP,讓MP誤以為UserID是主鍵。但我從來(lái)沒(méi)見(jiàn)過(guò)這么干的,不知道會(huì)不會(huì)有問(wèn)題,我本人也不建議你這樣做。
2019-09-22 回復(fù) 有任何疑惑可以回復(fù)我~
#2

qq_慕瓜5297292 提問(wèn)者 回復(fù) 老猿

因?yàn)樵趍ysql數(shù)據(jù)中添加了自增id,這個(gè)自增id沒(méi)有實(shí)際意義,而自增id必須設(shè)置為主鍵,而MP生成的時(shí)候會(huì)自動(dòng)把id生成為主鍵,但是實(shí)際用于查詢(xún)時(shí)這個(gè)id只是一個(gè)自增,沒(méi)法用于實(shí)際查詢(xún),而實(shí)際主鍵應(yīng)該是UserID,mysql即使設(shè)置成雙主鍵,mp也會(huì)默認(rèn)生成一個(gè)id為@TableId的主鍵,感覺(jué)需要mp生成時(shí)能指定userid為主鍵才行
2019-09-23 回復(fù) 有任何疑惑可以回復(fù)我~
#3

老猿 回復(fù) qq_慕瓜5297292 提問(wèn)者

如果你把userid在數(shù)據(jù)庫(kù)中指定為主鍵,mp的代碼生成器給你建立實(shí)體類(lèi)時(shí)是可以識(shí)別出來(lái)的。還有自增的字段不是必須為主鍵,mysql一個(gè)表中只可以有一個(gè)自增字段,數(shù)字類(lèi)型的字段只要設(shè)置上唯一索引,就可以設(shè)置上自增。
2019-09-23 回復(fù) 有任何疑惑可以回復(fù)我~
#4

qq_慕瓜5297292 提問(wèn)者 回復(fù) 老猿

是的,謝謝,學(xué)習(xí)了
2019-09-24 回復(fù) 有任何疑惑可以回復(fù)我~
#5

老猿 回復(fù) qq_慕瓜5297292 提問(wèn)者

不客氣,嘿嘿。
2019-09-24 回復(fù) 有任何疑惑可以回復(fù)我~
查看2條回復(fù)

舉報(bào)

0/150
提交
取消

mysql自增字段與主鍵問(wèn)題

我要回答 關(guān)注問(wèn)題
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢(xún)優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)