Python 在SQLite中查询FTS5表时fetchone的空结果
我正在Python 在SQLite中查询FTS5表时fetchone的空结果,python,sqlite,full-text-search,Python,Sqlite,Full Text Search,我正在SQLite中尝试全文搜索,而FTS5表有问题 下面我创建了一些虚拟表,例如: CREATE VIRTUAL TABLE IF NOT EXISTS search_text_table USING fts5 (field_a unindexed, field_b unindexed, name, description, summary); 然后我可以插入一些数据来执行文本搜索 但当我想更新或删除表中的一行时,我会这样做: connection.execute("DELETE FROM
SQLite
中尝试全文搜索
,而FTS5
表有问题
下面我创建了一些虚拟表,例如:
CREATE VIRTUAL TABLE IF NOT EXISTS search_text_table USING fts5 (field_a unindexed, field_b unindexed, name, description, summary);
然后我可以插入一些数据来执行文本搜索
但当我想更新或删除表中的一行时,我会这样做:
connection.execute("DELETE FROM search_text_table WHERE field_b = ?", [id])
connection.commit()
或
它们被执行,但行不受影响。但是如果我去SQLite Studio,在SQL编辑器上输入相同的句子和相同的值,我会得到一个结果,并且行会被更新或删除
发生了什么事
问候
---编辑---
解决方案是使用正常的删除或更新,如文档第6行所示。在我的第一次尝试中,我尝试了他们,但我得到了一些错误,但在按照肖恩的建议再次尝试之后。。。现在起作用了
---编辑2---
更改了问题描述。该文档是针对外部内容表的,您没有使用,顺便说一句。那么我如何更新或删除FTS5表?像往常一样使用
从中删除。我向您发誓,我首先尝试了正常的删除和更新,正如它在文档的六行上指定的那样,它给了我错误。。。现在它工作了,我不明白:/无论如何谢谢:)嗨@Shawn,我已经编辑了描述,因为即使是正常的删除和更新语句,我仍然有问题。
connection.execute("UPDATE search_text_table SET field_a = ?, name= ?, description = ?, summary = ? WHERE field_b = ?", [value_1, value_2, value_3, value_4, value_5])
connection.commit()