关于sqlite遇到问题时的一点思考 (关于Sqlite数据库,不正确的说法( ))

教程大全 2025-07-19 14:00:14 浏览

本文主要介绍数据库遇到的一些问题以及解决的思路,接下来我们一一介绍。

rowid和Integer主键及自增属性

大多数情况下,sqlite3的表都有一个rowid(也叫oid,_rowid_),这是一个64位的整数,并作为sqlite存储结构B树的主键。因此使用rowid查询会比以其他设定的主键查询,速度会非常快。

在做插入操作的时候,对于rowid的值通常情况下不要去指定,让系统自己去决定该去何值。因为sqlite会通过SQLITE_SEQUENCE来追踪表的rowid取值情况。而且sqlite定义了rowid的取值算法:在未超出rowid的范围内,待插入记录的rowid总是表中存在过的的rowid***值+1。比如依次插入5条记录,此时***一条记录的rowid是5,如果把这条记录删除再插入新记录,此时新纪录的rowid是6。而当rowid达到所能表达的***值时,这时如果有新纪录要插入,系统就会随机从之前的没有使用过的正整数中随机取一个作为rowid(就是之前删除过的)。若没有未使用的正整数并且你没有在插入的时候制定rowid为某一个负数的话,系统就会抛出SQLITE_FULL的错误。

如果在创建表的时候设置了主键,并且设置主键的那列是integer(不是int,short integer等等),并且主键没有设定降序时,这时的主键是rowid的别名,换言之,主键和rowid没有区别。如果我们再设定主键autoincrement属性时。和rowid又有什么区别呢?区别只是在于此时主键的取值是一个未使用过的rowid值,而这个rowid值系统会保证其是单调增长的,通常情况下就是表中存在过的rowid***值+1。这里所说的通常情况下是因为有这样一种情况:当插入操作由于表约束而失败的时候,本来要赋值的rowid,有可能不会在下次插入操作中使用,此时主键的取值就是表中存在过的rowid***值+2。

因此对于用户id是整数的表,是单独设主键去维护还是直接使用rowid作为主键,就取决于各自的业务逻辑关系了。在这种情况下,通常不使用rowid的主键特性。

今天遇到个问题, boss对APP有了新的要求,具体到业务上就是:

假设有两张表:

表A和表B之间没有任何关系,唯一有联系的就是有一列属性都是Datetime。而boss就需要将A和B的所有值取出并按时间排序。

不正确的说法

乍一看不知道咋解决,因为两张表刚好没有关系啊.后来才意识到可以用union,比如:

然后根据某一列值是否为空来生成不同的对象。

思考:

1.遇到这个问题后,首先想到的是join,但表又是没有关系的,所以陷入了死胡同,跳出这个思维,从sql本身出发,问题解决。

2.从软件开发的角度,对于已经进行了一半的开发,如果有新的需求,对于已有的软件架构,数据库结构都会是一个挑战。但这样的变化往往是不可避免,尤其是在小公司,用scrum开发的环境下。遇到这样的问题只能希望架构师依靠自己的检验,设计出易于扩展的架构。

取出某一段数据

sqlite取出某一段数据是用limit,比如要取出第6-20条记录,只需:

关于sqlite的问题总结就先介绍到这里,我们还会在以后的文章中接着介绍,感兴趣的朋友可以继续关注。

【编辑推荐


谁告诉一些冬天,夏天的养车技巧啊??

【一部曲】灯光 冬季易起雾起霜,能见度低,所以一定要及时观察雾灯、高位刹车灯工作是否正常,发现变黑的灯泡一定要尽早换掉。 普通卤素大灯一般使用两年时间后光线就会减弱,最好及时更换或维修。 【二部曲】冷却系统 定期检查水箱、水泵和皮带、水管等各部件是否工作正常。 有的车夏天水温偏高,修理人员就把节温器拆除,虽然可以解决夏天的问题,可是到冬天就反过来了。 如果不加注意,就有可能为了一根小水管,浪费了一桶防冻液。 【三部曲】暖风 爱车的暖风系统因为长时间没有使用,难免会出现很多小故障。 如没有热风、风机运转有异响、风管堵塞等问题,虽然不影响行车,但维修起来却很麻烦。 所以,一定记得利用例行保养的机会,让维修站对爱车的暖风系统进行全面检查,发现问题及时解决。 【四部曲】防冻液 防冻液看似小事,但对车的影响甚大,轻则堵塞管路,重则腐蚀损害缸体,所以一定要检查是否缺液、有无变质,及时补充或更换。 一般来说,防冻液应两年换一次。 【五部曲】发动机 车主们常常会发现,冬季汽车发动机好像人情绪低落时,干活也不卖力。 因为冬季气温低,导致防冻液、机油等功效都有所减退,发动机达不到理想的工作环境。 因此防冻液、机油、齿轮油等一定要按规定时间或里程更换,切不可凑合使用。 如果行驶环境比较脏,冬季更换机油的时间最好比说明书上规定的时间提前。 另外,冬季最好选择厂家规定燃油中的高标号汽油,这样动力会更好些,如平时使用90号汽油,冬季可换为93号汽油。 六部曲:风挡玻璃 冬季应定期擦洗雨刮器,雪天确保可刮净风挡。 如果清晨出门发现雨刮器被雪水粘在挡风玻璃上的话,千万不要用热水直接冲洗,这样容易使车窗因为温度变化而炸裂、雨刮器变形。 正确的方法应该是将空调开至热风,吹风模式为前风挡,待雨刮器自然化开。 另外,玻璃水也应更换为防冻型。 【七部曲】车身 最好在冬季给爱车做个车漆镀膜或封釉等,均能抵御酸雨雪的侵蚀。 此外,雪后道路洒盐水,飞溅到车身上的盐水对车漆有很大的危害,事先有所防备,雪天出行就不怕损毁车漆了。 【八部曲】底盘 冬天,汽车底盘总是直接和雨、雪打交道,很容易生锈。 雪过天晴后,汽车的底盘便开始生锈。 所以,在雨雪天来临之前您最好花点时间,给底盘做个防锈护理。 【九部曲】蓄电池 蓄电池最怕低温,低温环境下蓄电池电容量比常温时的电容量低得多。 因此在寒冷季节来临之前,应补充蓄电池的电解液,同时清洁蓄电池的接线柱,并涂上专用油脂加以保护,保证启动可靠,延长蓄电池寿命。 如果车辆在露天或冷库停放数周不用,应拆下蓄电池,存放在较为温暖的房间内,以防蓄电池结冰损坏。 【十部曲】轮胎 轮胎橡胶在冬季会变硬而且相对较脆,摩擦系数会降低,所以轮胎气压不可太高,但是更不可过低。 外部气温低,轮胎气压过低,软胎严重可加速老化。 此外,轮胎内外磨损大不相同,为保证安全减少磨损,应定期给轮胎更换位置。

夏天:

炎炎夏日保护好爱车涉水打滑千万不能踩刹车 爱车在每个季节都应有相应的保养,尤其是炎炎夏日。 在这个多雨的季节,车主们应该如何爱护自己的爱车呢? 行车要安全涉水熄火别“重启” 1.遭遇泥泞:暴雨天气常会遇到泥泞路面。 米其林专家劝告车主朋友遇到前方泥泞道路时,应先停车查看实际路况,检查路面泥堆的硬度和深浅,不要贸然前行。 步骤一,看有没有汽车通过的胎迹,胎迹越新前车通过的时间越短。 步骤二,根据胎迹的大小,还可判断出是何种汽车通过,以此作为自己汽车通过条件的参考。 2.雨中涉水:专家提醒车主汽车涉水时一定要控制住油门,应挂低挡缓慢驶入水中,避免冲入水中浸湿发动机;在经过积水路段以后,要连续轻踩刹车以便将刹车盘内的水分排除,确保行车安全。 如果发生涉水,最好不要急于重新启动发动机,应该先检查车辆涉水深度,如果水面已经超过排气管,则严禁启动发动机,你可以拨打救援电话,等待拖车救援。 如果不这样做,在水中启动车辆造成发动机进水,保险公司一般会根据损失险条款对车辆浸水造成内饰、电路、空滤、排气管、发动机等部位的受损进行理赔,但是有一条免责条款,就是在浸水的情况下发动车辆造成发动机损坏,保险公司不予赔偿。 雨中遇打滑千万不能踩刹车

再注意以下几点:

1、燃油系统

燃油系统包括油箱、油路、喷油嘴、汽油泵、汽油滤清器等。

燃油系统保养建议5000公里使用汽油系统清洗剂一瓶,每公里清洗喷油嘴、进气道、油箱油路,如果经常使用混合油的车主建议车上常备汽油系统清洗剂,在更换油品前添加一瓶汽油系统清洗剂,防止燃油系统故障的产生,影响行驶。

提示:如何判别汽油系统清洗剂的好坏

优质的汽油系统清洗剂能将胶质彻底溶解,能将油箱油路中少量的水分去除,不含有酒精成分,同时使用时没有严格的添加比例要求。

2、发动机

夏天要加强对发动机冷却系统的检查、保养,及时清除水箱、水套中的水垢和散热器芯片间嵌入的杂物。

认真检查节温器、水泵、风扇的工作性能,损坏的应及时修复,同时注意调整好风扇皮带的张紧度。

及时加注冷却水。 当水温超过100摄氏度时,应在荫凉处停车降温,让发动机怠速运转,并掀开发动机罩以便于散热。

当水箱开锅、发动机过热时,切勿将发动机熄火(电机驱动风扇的除外),也不可向发动机泼冷水,以防机体因热胀冷缩而炸裂。

3、洗车

洗衣粉洗车最毁车:

洗衣粉是碱性洗涤剂,对车漆损害很大,如果长期用洗衣粉来洗车,汽车的表面就会逐渐失去光泽。 洗衣粉对车漆的腐蚀短期内是很难看出来的,所以很多车主并不知道其中的厉害。

洗车店老板明知道洗衣粉会毁车,为什么还要用呢?根本原因就是洗衣粉成本低,见效快。

判断:洗车时,可以用手指捏捏、鼻子闻闻那些泡泡看是不是洗衣粉。

洗车的水流技巧:

专业一点的洗车店决不会一上来就用高压水枪狂喷,一般第一遍一定要细水慢流,从上往下冲,把车上沾的灰尘颗粒用水流带走。 要是一开始就高压水枪,那就等于是让灰尘颗粒在车漆表面做“摩擦运动”。

骑山地车屁股疼怎么办?

这是很多刚才是接触到山地车的车友都会遇到的问题,其实包括经常骑车的老手也会有这样的痛苦。 解决的办法:1、买一条骑行裤大概100元左右,里面有一层内垫,可以很好地解决这个问题。 2、如果觉得骑行裤不方便(穿骑行裤是不需要穿内裤的),可以选择硅胶垫,在Giant或者车行都会有卖的,大概也是100元左右。 3、就是需要长时间的锻炼,一般30Km以内我是不穿骑行裤的,但是超过这个距离穿骑行裤会舒服一些。 但是更长的距离〉100km/天还是会又不适。 还有就是,骑行的时候既然我们不是运动员,所以不同于赶路,每隔20km左右休息一下,对PP还是自己都可以更好的提高效率。

选电视时要考虑的些什么?

买电视要考虑的问题可多了,不过要综合考虑,每种产品都有它的优缺点。 综合来看我还是觉得硬屏的条件不错,分辨率性价比清晰度都达到一定的优势,而且可视角大,辐射小。 节能省电。 综合考虑IPS硬屏更占优势。

本文版权声明本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请联系本站客服,一经查实,本站将立刻删除。

发表评论

热门推荐