人到中年有點(diǎn)甜
2023-02-16 15:49:51
mybatis 新手insert into table(name, age) values (name_value, age_value)一條記錄的名稱和值與另一條記錄相同如何使用mybatis來(lái)避免它?我正在使用 xml 創(chuàng)建映射器
1 回答

楊__羊羊
TA貢獻(xiàn)1943條經(jīng)驗(yàn) 獲得超7個(gè)贊
問(wèn)題尚不清楚,但您必須在數(shù)據(jù)庫(kù)中定義一個(gè)唯一鍵。因此,如果您指定 name 和 age 列是唯一的,那么您的 dbms 會(huì)阻止所有具有已存在的 name 和 age 的新行的插入。
這是mybatis查詢的一個(gè)例子:
INSERT INTO mytable
(name, age)
VALUES
(
#{name},
#{age}
)
ON CONFLICT (name,age)
DO NOTHING
所以它會(huì)嘗試將一個(gè)值插入到您的表中。如果 dbms 返回錯(cuò)誤,因?yàn)榇嬖谖ㄒ绘I(由 [name 和 age] 組成),它會(huì)執(zhí)行另一個(gè)操作。例如,您可以在 DO 之后放置一條 UPDATE 語(yǔ)句,而不是 DO NOTHING。
添加回答
舉報(bào)
0/150
提交
取消