sqlite insert or replace 和 insert or ignore 用法
生活随笔
收集整理的這篇文章主要介紹了
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???? 《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀
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???? 《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀
總結
以上是生活随笔為你收集整理的sqlite insert or replace 和 insert or ignore 用法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Math,random()返回区间内的随
- 下一篇: js中用tagname和id获取元素的3