mybatis 新手insert into table(name, age) values (name_value, age_value)一條記錄的名稱和值與另一條記錄相同如何使用mybatis來避免它?我正在使用 xml 創建映射器
1 回答

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