美文网首页
MySQL 当记录不存在时insert

MySQL 当记录不存在时insert

作者: barry_di | 来源:发表于2018-01-02 14:52 被阅读0次

    一、使用场景

    我们使用MYSQL的时候,为了防止重复的插入,我们就需要先判断是否数据库中时候存在相同的记录。MySQL我们借助于insert into select from的语法进行处理这种问题。

    二、示例

    1、单条插入:通过dual伪表来判断。
    INSERT INTO clients
    (client_id, client_name,)
    SELECT 1, 'Calvin', 
    FROM dual
    WHERE not exists (select * from clients
    where clients.client_id = 1);
    

    JDBC插入语句示例

    INSERT INTO tbl_teahouse_member
     (player_id,house_id ,status) 
     SELECT ?,? ,? FROM dual 
    WHERE not exists (select * from tbl_teahouse_member 
    WHERE house_id = ? and player_id= ? )
    
    2、多条插入:通过关联表
    INSERT INTO clients
    (client_id, client_name)
    SELECT supplier_id, supplier_name
    FROM suppliers
    WHERE not exists (select * from clients
    where clients.client_id = suppliers.supplier_id);
    

    相关文章

      网友评论

          本文标题:MySQL 当记录不存在时insert

          本文链接:https://www.haomeiwen.com/subject/cyofnxtx.html