错误:没有这样的整理顺序:NOCASE_UTF8

use*_*059 5 sqlite

我在sqlite3. 特定表中的列之一是具有子句COLLATE NOCASE_UTF8。我无法在该字段中插入任​​何文本。它给出以下错误:

sqlite> INSERT INTO recording (recordingName) VALUES ('abcd');
Error: no such collation sequence: NOCASE_UTF8
Run Code Online (Sandbox Code Playgroud)

我应该如何在其中输入文本?

Mik*_*ll' 2

这是一个自定义排序规则。SQLite 对名为“NOCASE”的排序规则有本机支持,但不支持名为“NOCASE_UTF8”的排序规则。我认为您收到错误是因为您的 SQLite 数据库中没有定义这样的排序规则,但尽管如此,该排序规则名称仍然存储为表定义的一部分。

我不确定 SQLite 如何处理通过 C API 定义的排序规则的存储。但我很确定这就是你需要解决的问题。另请参阅需要排序规则回调的文档。(您可能只需要调用一次 sqlite3_collat​​ion_needed()。)