sqlie3 Replace into

sqlie3 Replace into,第1张

概述在数据库表中, 如果想某个字段相同的时候, 只是更新该条记录而不是再次插入新纪录? 你会怎么办? 你会说, 先 query 有没有, 有的话就 update, 没有就 insert. 这种方式也是也可的. 但是今天, 介绍另一种方式, replace into. --------------------------------------------------------------------

在数据库表中,如果想某个字段相同的时候,只是更新该条记录而不是再次插入新纪录?

你会怎么办?

你会说,先 query 有没有,有的话就 update,没有就 insert.

这种方式也是也可的.

但是今天,介绍另一种方式,replace into.


--------------------------------------------------------------------------------------------------------------------

* 创建数据库文件

sqlite3 my.db

* 创建表

create table if not exists user (ID integer primary key autoincrement,age integer,name text,uID long);

* 创建唯一索引
create unique index uID_index on user (uID);

使用 uID 作为唯一索引.


* 插入记录

replace into user (age,name,uID) values (20,'makr',1000);

此时可以查询一下记录
.header on.mode columnselect * from user;


ID          age         name        uID       ----------  ----------  ----------  ----------1           20          makr        1000  


插入相同的 uID 记录
replace into user (age,'h',1000);

得到结果
ID          age         name        uID       ----------  ----------  ----------  ----------2           20          h           1000   

只是更新了 name 字段,并没有新增记录.

细心的你可能已经发现,主键自动加1了!

如果你使用 query->insert or update,就不会发生主键自动加1的情况,根据需要,自己撸吧!


你也可以在 create table 的时候指定唯一索引.

总结

以上是内存溢出为你收集整理的sqlie3 Replace into全部内容,希望文章能够帮你解决sqlie3 Replace into所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/1169073.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-02
下一篇 2022-06-02

发表评论

登录后才能评论

评论列表(0条)

保存