gpt4 book ai didi

iphone - sqlite3_prepare_v2字符限制?

转载 作者:行者123 更新时间:2023-12-03 18:06:15 27 4
gpt4 key购买 nike

我的数据存储在 sqlite3 数据库中,并且有几个位置可以从数据库读取数据和向数据库写入数据。我遇到的问题是,如果 SQL 语句变得很长,sqlite3_prepare_v2 方法将返回错误。

此代码有效:

NSString *strSQL = @"UPDATE commandList SET displayName=?, type=?, formula=?, controlButton=?, sort=? WHERE pk=?;";
const char *sql = [strSQL UTF8String];
if (sqlite3_prepare_v2(database, sql, -1, &dehydrate_statment, NULL) != SQLITE_OK) {
NSLog(@"Error: failed to create update statement with message '%@'.", sqlite3_errmsg(database));
}

但是这段代码出错了:

NSString *strSQL = @"UPDATE commandList SET displayName=?, type=?, formula=?, onFormula=?, offFormula=?, controlButton=?, sort=? WHERE pk=?;";
const char *sql = [strSQL UTF8String];
if (sqlite3_prepare_v2(database, sql, -1, &dehydrate_statment, NULL) != SQLITE_OK) {
NSLog(@"Error: failed to create update statement with message '%@'.", sqlite3_errmsg(database));
}

注意唯一的区别是第一行。

最佳答案

当您说“代码出错”时,您确实应该发布错误。这使我们不必进行推测,或不必编写示例来重现您遇到的错误。

参见:http://www.sqlite.org/limits.html

SQLite 确实限制 SQL 语句的最大大小。 (这可以防止在嵌入式环境中运行时出现不良行为,但不会影响绑定(bind)到语句的值的大小。)

根据上面的代码,您不应该遇到这个大小限制,但很难说您具体遇到了什么,因为示例+问题并不独立。

关于iphone - sqlite3_prepare_v2字符限制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1891496/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com