该代码不是标准的SQL。
SQLite没有许多编程结构,因为它被设计为嵌入式数据库,在该数据库中使用宿主语言编写逻辑更为自然。
如果要在SQL中执行此操作,请尝试以下操作:
首先,创建一个临时表,以便我们有一个可用于计数的自动增量列:
CREATE TEMPORARY TABLE new_ids(i INTEGER PRIMARY KEY, old_id INTEGER);
插入一个虚拟记录,以确保下一个新记录从处开始
100,然后插入
Categories要更改的表的所有ID :
INSERT INTO new_ids VALUES(99, NULL);INSERT INTO new_ids SELECt NULL, id FROM "Categories" WHERe "Name" = 'White';DELETe FROM new_ids WHERe i = 99;
然后,我们可以更改原始表中的所有这些ID:
UPDATe "Categories" SET id = (SELECT i FROM new_ids WHERe old_id = "Categories".id) WHERe id IN (SELECt old_id FROM new_ids);DROP TABLE new_ids;



