Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在SQLite中查询FTS5表时fetchone的空结果_Python_Sqlite_Full Text Search - Fatal编程技术网

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()