1 回答
TA贡献1818条经验 获得超7个赞
通过进行有限的测试,如果外键是在列级别定义的,那么id列对于之前定义的外键来说是一个更高的值。
您可以使用在 SELECT 语句中返回结果的编译指示,例如并根据其中一列进行排序(如果使用了合适的列命名约定,则使用了 id,您可以根据from列进行排序(注意它需要被括起来) ))
SELECT * FROM pragma_foreign_key_list('mytable') ORDER BY id ASC;
例如考虑以下内容:-
DROP TABLE IF EXISTS mytable;
CREATE TABLE IF NOT EXISTS mytable (id INTEGER PRIMARY KEY,
_otherd_building_id_reference INTEGER REFERENCES _building(_id),
_building_id_reference INTEGER REFERENCES _building(_id),
_room_id_reference INTEGER REFERENCES _room(_id),
_campus_id_reference INTEGER REFERENCES _campus(_id),
_othera_campus_reference INTEGER REFERENCES _campus(_id),
_otherz_room_id_reference INTEGER REFERENCES _room(_id),
_otherc_building_id_reference INTEGER REFERENCES _building(_id)
);
SELECT * FROM pragma_foreign_key_list('mytable') ORDER BY id DESC;
请注意,最初的列没有像* other? 这样的前缀?被添加,othera,c 和 z 被添加到最后,最后 _otherd_building_id_reference 被添加。
结果,在运行上述内容时始终如一: -
- 1 回答
- 0 关注
- 111 浏览
添加回答
举报