如何为python sqlite添加带字符的自动增量id

如何为python sqlite添加带字符的自动增量id,python,sqlite,Python,Sqlite,当我添加新数据时,我试图用字符自动递增ID ID的示例:AFK000001、AFK000002、AFK000003等。这应该是自动字段。自动增量是整数专用的,无法自动完成,但是您可以通过以下方式制作一个小脚本来实现: 存储最后一个ID 获取整数子字符串 增加其值并将其添加到字符子字符串 把它放在桌子上 如果您使用的是SQLite 3.31.0+,则可以定义: 定义的此列不会存储在表中,而是在每次查询表时生成。 如果您希望存储该命令,则可以在其定义末尾添加关键字stored。您能解释一下命令代码

当我添加新数据时,我试图用字符自动递增ID


ID的示例:AFK000001、AFK000002、AFK000003等。这应该是自动字段。

自动增量是整数专用的,无法自动完成,但是您可以通过以下方式制作一个小脚本来实现:

  • 存储最后一个ID
  • 获取整数子字符串
  • 增加其值并将其添加到字符子字符串
  • 把它放在桌子上

如果您使用的是SQLite 3.31.0+,则可以定义:

定义的此列不会存储在表中,而是在每次查询表时生成。

如果您希望存储该命令,则可以在其定义末尾添加关键字
stored

您能解释一下命令代码吗?示例:aID是列文本type@VittawatLaorungroj
aID
是一个计算列,它是通过连接前缀
'AFK'
和自动递增列
ID
生成的。此部分:
SUBSTR('000000'| ID,-6)
ID的值进行正确填充。因此,如果
ID
为132,则
SUBSTR('000000'| ID,-6)
返回
'000132'
。当然,
aID
列的数据类型是文本,因为它是一个字符串。非常感谢,这可以救我的命:)
import sqlite3

conn = sqlite3.connect('carlist.db')
c = conn.cursor()

c.execute("""CREATE TABLE IF NOT EXISTS carlist(
        ID INTEGER PRIMARY KEY AUTOINCREMENT,
        Brand text NOT NULL,
        Model text NOT NULL,
        License Plate text NOT NULL,
        Year INTEGER)""")
aID TEXT GENERATED ALWAYS AS ('AFK' || SUBSTR('000000' || ID, -6))