在一次写sql语句的时候突发奇想,为什么不能把插入和更新记录写在一起呢?这样一条语句就能完成两个操作了。而且有时候可能也会碰到需要这样的逻辑。于是找了还真有,但是由于sqlite是比较小型的数据库所以具体方式不太一样。

insert into tablename(Name,Passwd,remarks,data) values(:name,:Passwd,:Remakes,:now)ON CONFLICT(Name)DO UPDATE SET Passwd=:Passwd,remarks=:Remakes;

前面的insert into tablename(Name,Passwd,remarks,data) values(:name,:Passwd,:Remakes,:now)是负责插入的,

ON CONFLICT(Name)DO UPDATE SET这个比较重点,后面跟的你需要更新的字段都可以在后面添加用逗号隔开就好了。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐