答案 0 :(得分:1)
如果我理解正确,这应该适合你:
UPDATE tbl_name SET id=rowid
修改强> 如果是这种情况 - >然后它更加棘手,因为SQlite不支持变量声明。 所以我建议的是,
像这样:(假设原始表名为orig_name)
CREATE TABLE tmp_tbl AS SELECT rowNum FROM orig_name;
UPDATE tmp_tbl SET rowNum=rowid;
DROP TABLE orig_name;
CREATE TABLE orig_name AS SELECT rowNum FROM tmp_tbl;
DROP TABLE tmp_tbl;
答案 1 :(得分:0)
试试这个:http://www.sqlite.org/lang_createtable.html#rowid
您可以使用一些内部数据库变量(如rowid,oid等)来获取所需内容。
[编辑] 想想我只是理解你的意思,你想要每个插入操作,添加一个值,即表中当前行的总数? 如果是这样,尝试这样的事情:
更新tbl_name SET id =(从tbl_name中选择count(*)) yada_yada_yada