sqlite的 replace into可以实现此功能,
首先我们新建一个sqlite数据库,新建一个表(Books),包含字段有ID,Name,Author,PageCount,Mark,其中ID是主键,设置为自动增长
Name 设置为不能为空且唯一
建好表以后如下图:
接下来我们执行sql语句
REPLACE INTO Books(Name,Mark) values('C#','Jack',300,'test')
由于是第一次执行,数据库中没有数据,相当于执行了Insert,执行以后如下图:
修改上面的sql语句,将PageCount修改为500,再次执行,由于数据库中已经存在了Name相同的数据,这个不在进行插入操作,而是执行更新了
REPLACE INTO Books(Name,500,'test')
执行以后数据如下: