美文网首页
sql 条件插入

sql 条件插入

作者: __robin | 来源:发表于2019-05-31 18:12 被阅读0次

    某表中已有该值时,不添加数据

    INSERT INTO table(field1, field2, ...fieldn)
    SELECT 'field1', 'field2', ...'fieldn'
    FROM DUAL
    WHERE NOT EXISTS(SELECT field FROM table WHERE field = ?)
    

    实例

    INSERT INTO tableA(
            //要插入的字段
                id,
                device_id,
                data,
                create_by,
                create_date
            ) SELECT
            //要插入的值,为空可以用null代替
                value1,
                value2,
                value1,
                value4,
                value5
            FROM DUAL
            //dual是为了构建查询语句而存在的表, mysql5.7以上可以不写FROM DUAL
            WHERE NOT EXISTS(SELECT 1 tableB WHERE device_id = value2 )  
            //判断device_id,data相同的值是否存在,存在则不添加
            //EXISTS: 判断子查询是否返回结果集,不要求知道返回什么
    

    相关文章

      网友评论

          本文标题:sql 条件插入

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