【问题标题】:How Can I assign a sequence value to a sqlite field when the field UID value is NULL当字段 UID 值为 NULL 时,如何将序列值分配给 sqlite 字段
【发布时间】:2011-03-02 23:23:48
【问题描述】:

例如,如何将序列值分配给现有 sqlite 表中为 NUll 的字段“UID”

table: FOO  
name    UID
A   1
B   2
C   100
D   NULL
E   NULL
F   NULL

我想要的是

table: FOO  
name    UID
A   1
B   2
C   100
D   101
E   102
F   103

一些身体可以帮助吗? 我想根据自己的原因寻找使用自动增量的替代方法...

谢谢!

【问题讨论】:

    标签: sqlite auto-increment manual unique-key


    【解决方案1】:

    Register a function 返回它被调用的次数,然后做

    UPDATE FOO SET UID = 100 + increment() WHERE UID IS NULL
    

    【讨论】:

    • 谢谢, increment() 应该是 C 函数,还是 python 函数?或者,可以使用 SQL 语言(例如 FOO 中的 SELECT count(*) 代替 increment() 吗?
    猜你喜欢
    • 1970-01-01
    • 2012-07-13
    • 1970-01-01
    • 2017-10-22
    • 2019-05-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多