Flutter项目,使用REGEXP查询数据库导致iPhone上出现DatabaseException

问题描述 投票:0回答:2

我的flutter应用程序使用SQLite数据库,使用sqlfite插件:

sqflite: ^2.0.2

我的一个查询使用 REGEXP 函数。我正在 Android 上进行开发和测试,没有遇到任何问题。然而,当在 iPhone 上测试该应用程序时,我收到以下致命错误:

DatabaseException(Error Domain=FMDatabase Code=1 "no such function: REGEXP" UserInfo={NSLocalizedDescription=no such function: REGEXP})

我可以做些什么来使 REGEXP 函数在 iPhone 上可用,还是我必须找到一种不同的方式来编码我的查询?

android iphone flutter sqlite
2个回答
0
投票

好吧,看来 REGEXP 直到最近才被 sqlite 正式认可,因此您不能保证不同的平台都能够使用该功能。


0
投票

sqlite 二进制文件可能是在不支持 RegExp 的情况下构建的。这通常是作为外部命令编译为外部函数并在运行时注册的。

检查问题: https://github.com/tekartik/sqflite/issues/922

检查解决方案: C 语言的 SQLite 并支持 REGEXP

© www.soinside.com 2019 - 2024. All rights reserved.