最近采集了点数据,用sqlite来存,折腾有如下经验

  • sqlite表建立好之后,不能通过add column的方式添加primary key,只能新建一个表,然后把旧表的数据插入进去

  • sqlite的表,每行默认有一个行id, 64-bit signed integer key. 可以充当primary key,可以用 “rowid”, “oid”, or “rowid” 这几种名称引用

  • 在linux/unix操作系统下,sqlite有一个潜规则:

你必须保证操作脚本对 sqlite 数据库文件所在的目录的权限是可写,不然无论delete还是update都会失败,因为sqlite执行write相关命令的时候,会先在同一个文件目录下生成对应的 .journal文件 这个设计相当脑残,坑死人不偿命,你要不是天天用sqlite,很难想起这点 然后就开始浪费时间debug了

sqlite的命令行程序也是奇葩,各种控制键都会识别为 ^C,你输入命令的时候,一旦弄错一点,连删除重来的机会都没有,只能完全重输