我使用的是一个sqlite数据库,我想知道特定的列是否是autoincrement
我试过了
PRAGMA table_info('table name') ;
但它只提供ID、名称、类型、主键、非空值和默认值
最佳答案
查询
PRAGMA TABLE_INFO(yourtable);
您可以获取主键列名称。
要检查它是否为自动递增列,请检查表是否具有自动递增序列:
SELECT COUNT(*) FROM sqlite_sequence WHERE name='yourtable';
解释:
如果计数结果为非零,则该表有一个autoincrement主键列。
如果计数结果为零,则该表要么为空,并且从未包含数据,要么没有autoincrement主键列。
尽管SQLite documentation似乎意味着在创建表时填充sqlite_sequence表,但事实并非如此,只有在插入数据后计数才可用。