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
提交
取消