现在的位置: 首页 > 数据库 > 正文

sqlite replace into

2018年07月12日 数据库 ⁄ 共 539字 ⁄ 字号 评论关闭

在数据库中我们经常会遇到这样的问题,插入(更新)一条记录,如果存在,就更新,如果不存在就插入一条新的数据。
sqlite的 replace into可以实现此功能,
首先我们新建一个sqlite数据库,新建一个表(Books),包含字段有ID,Name,Author,PageCount,Mark,其中ID是主键,设置为自动增长
Name 设置为不能为空且唯一
建好表以后如下图:


接下来我们执行SQL语句

REPLACE INTO  Books(Name,Author,PageCount,Mark) values('C#','Jack',300,'test')

由于是第一次执行,数据库中没有数据,相当于执行了Insert ,执行以后如下图:

修改上面的SQL语句,将PageCount修改为500,再次执行,由于数据库中已经存在了Name相同的数据,这个不在进行插入操作,而是执行更新了

接下来我们执行修改过后的SQL语句

REPLACE INTO  Books(Name,Author,PageCount,Mark) values('C#','Jack',500,'test')

执行以后数据如下:




这样,我们是使用SQLite数据库时,可以创建唯一索引,使用replace into 来替代insert和update

抱歉!评论已关闭.