为了账号安全,请及时绑定邮箱和手机立即绑定

mybatis避免插入相同的数据

mybatis避免插入相同的数据

人到中年有点甜 2023-02-16 15:49:51
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。


查看完整回答
反对 回复 2023-02-16
  • 1 回答
  • 0 关注
  • 348 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信