Sqlite delete语句使用注意点

需求:删除xigua表中的id在taozi表中sglx等于1的数据记录

查询语句

select a.* from xigua a left join taozi b on a.id = b.id 
where datetime('now','+8 hour')>= datetime(updtime) and b.sglx=0

经测试,select查询语句可以使用join连接,delete删除语句却不可以,只能用嵌套子查询来代替

删除语句

delete from xigua where datetime('now','+8 hour')>= datetime(updtime) and id in(
select id from taozi where sglx=1) 

注意点

1、用到了datetime函数,可加可减,与之类似的还有date函数,两者的区别就是date函数只到天,datetime函数可以具体到时、分、秒
2、这里使用了’now’,当使用语句

select datetime('now')

执行结果如下图:
在这里插入图片描述
然而在实际项目中,这个now并没有起作用,所以最后还是改成了在代码中传入当前时间参数

DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
return df.format(new Date());

猜你喜欢

转载自blog.csdn.net/diyangxia/article/details/100934559