0
假设我有一个FTS [34]表data
和一个常规表info
,它们被info.ID = data.rowid
绑定在一起。我有一个视图master
表示这个连接,我用它来查询整体信息。 这里是CREATE TABLE
声明:SQLite查看功能?
CREATE VIRTUAL TABLE data USING fts4(
Name,
Keywords,
Aliases
Description);
CREATE TABLE info (
ID INTEGER PRIMARY KEY,
-- A bunch of other columns...
);
CREATE VIEW master AS SELECT
info.ID AS ID
data.Name AS Name,
data.Keywords AS Keywords,
data.Aliases AS Aliases,
data.Description AS Description,
-- A bunch of other columns...
FROM info JOIN data ON info.ID = data.rowid;
现在我想要做的就是创造另一种观点认为,由于对每列执行,而不是选择从data
表整个小区,选择SQLite的snippet函数的结果在data
表:
CREATE VIEW search AS SELECT
master.*,
snippet(data '<b>', '</b>', '...', 0) AS sn_Name,
snippet(data '<b>', '</b>', '...', 1) AS sn_Keywords,
snippet(data '<b>', '</b>', '...', 2) AS sn_Aliases,
snippet(data '<b>', '</b>', '...', 3) AS sn_Description
FROM master JOIN data ON master.ID = data.rowid;
然而,当我从内Python中执行该语句,我得到如下:
sqlite3.OperationalError: near "'<b>'": syntax error