提问人:androidneil 提问时间:2/22/2022 更新时间:10/19/2023 访问量:96
Flutter 项目,使用 REGEXP 进行数据库查询导致 iPhone 上的 DatabaseException
Flutter project, database query with REGEXP causes DatabaseException on iPhone
问:
我的 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 上可用,或者我必须找到一种不同的方法来编码我的查询?
答:
0赞
androidneil
2/23/2022
#1
好吧,似乎 REGEXP 直到最近才被 sqlite 正式认可,因此您不能保证不同的平台能够使用该功能。
0赞
Gad D Lord
10/19/2023
#2
可能 sqlite 二进制文件是在不支持 RegExp 的情况下构建的。这通常作为外部命令提供,编译为外部函数并在运行时注册。
检查问题:https://github.com/tekartik/sqflite/issues/922
检查解决方案:C 语言的 SQLite 并支持 REGEXP
评论