Sqlite 的 非关键字自增 实现方法

Sqlite 的 非关键字自增 实现方法

第一种 不太行

先说结论,在Sqlite中数据自增只能在具有唯一关键字后面标识,

没有办法做到使用自增字段实现非关键字自增

在这里插入图片描述

第二种 不太行

通过sqlite的表达式实现

CREATE TABLE t1(
   a INTEGER PRIMARY KEY AUTOINCREMENT,
   b INT,
   c TEXT AS (a) STORED
)

AS ()代表的是可以在()中放入一些计算,计算的结果就是这个字段的值,这里标识的就是c字段的值就是主键a的值

STORED代表的是在插入的时候计算,也可以使用VIRTUAL字段,这个字段代表的是在读取的时候计算

请添加图片描述

最后实现

我查了好多文档,好像确实没有提到非主键自增的方法,那Sql不提供,只能我们自己操作

不在非主键自增上花时间了,这个字段设置默认值0

  1. 在使用的时候如果获取到数据是0,就把id给赋值过去,并且按照id的数据进行使用,然后更新会数据库
  2. 如果不是0就直接使用

查询的官方文档

生成的列 | SQLite中文网 (readdevdocs.com)

te.readdevdocs.com/gencol.html)

SQLite Autoincrement | SQLite中文网 (readdevdocs.com)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值