gpt4 book ai didi

sqlite - 有没有办法告诉 SQLite 内部索引在哪些列上?

转载 作者:行者123 更新时间:2023-12-03 14:54:26 24 4
gpt4 key购买 nike

sqlite> create table foo(x TEXT PRIMARY KEY, y TEXT UNIQUE);
sqlite> select * from sqlite_master;
table|foo|foo|2|CREATE TABLE foo(x TEXT PRIMARY KEY, y TEXT UNIQUE)
index|sqlite_autoindex_foo_1|foo|3|
index|sqlite_autoindex_foo_2|foo|4|

对于用户定义的索引, sqlite_master 的最后一列告诉我他们在哪些列。但正如您所见,对于由 (non-rowid) PRIMARY KEY 隐式创建的索引和 UNIQUE , 这个信息是不存在的。有没有可靠的方法告诉我 autoindex是哪个?

最佳答案

内部索引和显式创建的索引没有区别;您可以使用相同的 PRAGMA(index_listindex_infoindex_xinfo)获取有关它们的信息:

sqlite> pragma index_list(foo);
seq 名称 唯一 来源 部分
---------- ---------- ---------- -------- -- ----------
0 sqlite_autoindex_foo_2 1 u 0
1 sqlite_autoindex_foo_1 1 包 0
sqlite> pragma index_xinfo(sqlite_autoindex_foo_1);
seqno cid 名称 desc coll 键
---------- ---------- ---------- ---------- ---------- ----------
0 0 x 0 二进制 1
1 -1 0 二进制 0
sqlite> pragma index_xinfo(sqlite_autoindex_foo_2);
seqno cid 名称 desc coll 键
---------- ---------- ---------- ---------- ---------- ----------
0 1 y 0 二进制 1
1 -1 0 二进制 0

关于sqlite - 有没有办法告诉 SQLite 内部索引在哪些列上?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39506883/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com