zoukankan      html  css  js  c++  java
  • sqlite "insert or replace" 和 "insert or ignore" 用法

    insert or replace:如果不存在就插入,存在就更新
    insert or ignore:如果不存在就插入,存在就忽略
    只对UNIQUE约束的字段起作用。如图:

    举例:
    建表:
    CREATE TABLE TEST(id BIGINT, name text, birthday datetime, PRIMARY KEY(id, name));
    或者CREATE TABLE TEST (id BIGINT, name text, birthday datetime, UNIQUE(id, name));
    插入记录:
    insert into test values (10,'aa','2010-01-01 01:01:01');
    insert into test values (11,'bb','2011-01-01 01:01:01');
    insert into test values (12,'cc','2012-01-01 01:01:01');


    依次执行以下语句看结果:
    1、insert or replace into test values (10,'jj','2016-01-01 01:01:01');//不存在,插入
    id         name       birthday          
    ----------  ---------- -------------------
    10         aa         2010-01-01 01:01:01
    11         bb         2011-01-01 01:01:01
    12         cc         2012-01-01 01:01:01
    10         jj         2016-01-01 01:01:01



    2、insert or replace into test values (11,'bb','2016-01-01 01:01:01');//存在,更新
    id         name       birthday          
    ----------  ---------- -------------------
    10         aa         2010-01-01 01:01:01
    12         cc         2012-01-01 01:01:01
    10         jj         2016-01-01 01:01:01
    11         bb         2016-01-01 01:01:01


    3、insert or ignore into test values (12,'xx','2017-01-01 01:01:01');//不存在,插入
    id         name       birthday          
    ----------  ---------- -------------------
    10         aa         2010-01-01 01:01:01
    12         cc         2012-01-01 01:01:01
    10         jj         2016-01-01 01:01:01
    11         bb         2016-01-01 01:01:01
    12         xx         2017-01-01 01:01:01


    4、insert or ignore into test values (12,'xx','2018-01-01 01:01:01');//存在,忽略
    id         name       birthday          
    ----------  ---------- -------------------
    10         aa         2010-01-01 01:01:01
    12         cc         2012-01-01 01:01:01
    10         jj         2016-01-01 01:01:01
    11         bb         2016-01-01 01:01:01
    12         xx         2017-01-01 01:01:01

  • 相关阅读:
    Vue动态路由配置-router.addRoute
    安装nginx(Centos和docker)
    前后端分离跨域问题解决方案
    centos7 部署 gitlab
    date命令使用方法
    电脑明明安装了模块,但是pycharm还是找不到怎么办
    shell脚本中字符串截取问题
    linux中每登录一个终端,就会自动执行脚本
    腾讯文档中怎么添加二级缩进符号
    查看CPU某一核的情况
  • 原文地址:https://www.cnblogs.com/simadi/p/14711047.html
Copyright © 2011-2022 走看看