zoukankan      html  css  js  c++  java
  • 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之后,以为基本的怎删改查语法都一样。却踩了这么个大坑,花了好长时间才找到原因.

  • 相关阅读:
    C语言I博客作业09
    请看这里
    C++ 面向对象学习笔记[1]
    graphviz的使用
    KDE安装后的一些随笔
    近期内容整理
    链表
    理解C++ lvalue与rvalue
    再看“笕实智慧校园”——作品的复盘[1]
    无题
  • 原文地址:https://www.cnblogs.com/lylongs/p/11191324.html
Copyright © 2011-2022 走看看