• mysql条件插入


    #新建表

    create table t_user

    (

      userNamevarchar(100),

      gender varchar(2)

    )

    #带条件插入,如果表中没有userName='name1'的记录,就插入,否则就不插入

    insert into t_user
    select 'name1','M'
    from DUAL
    where not exists(
    select userName  #这里是select 1 或者select 列名都行
    from t_user
    where userName='name1'
    )

    注意,必须是from DUAL这个虚拟表,不能是from t_user表,否则t_user表中有几条记录,就会插入几条 'name1','M‘ 的记录. 以下的sql是错的!错的!错的!

    insert into t_user
    select 'name2','M'
    from t_user
    where not exists(
    select userName
    from t_user
    where userName='name2'
    )

    以前一直用的SqlServer,改为mysql之后,以为基本的怎删改查语法都一样。却踩了这么个大坑,花了好长时间才找到原因.

  • 相关阅读:
    《面向对象》读书笔记4
    《面向对象》读书笔记3
    《面向对象》读书笔记2
    《面向对象》读书笔记1
    B树
    树的子结构
    最长公共子序列
    最长公共子串
    堆和堆排序
    位图的原理和简单实现
  • 原文地址:https://www.cnblogs.com/lylongs/p/11191324.html
Copyright © 2020-2023  润新知