Всегда передавайте аргументы в SQL-запрос как тип объекта, пожалуйста, посмотрите, как аргументы передаются в SQL-запрос.Даже если вы передаете число, передайте его как
[NSNumber numberWithInt:someValue]
Попробуйте:
-(BOOL) updateScores
{
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *writableDBPath = [documentsDirectory stringByAppendingPathComponent:@"uniques.sqlite"];
FMDatabase* db = [FMDatabase databaseWithPath:writableDBPath];
BOOL success = NO;
if ([db open] != YES) {
NSLog(@"DB Error %d: %@", [db lastErrorCode], [db lastErrorMessage]);
return NO; //VERY IMPORTANT
}
[db beginTransaction];
success = [db executeUpdate:@"UPDATE scores SET answer = ? WHERE name like ?", @"1", @"jack"];
if (success) {
NSLog(@"OK");
[db commit];
[db close];
}else {
NSLog(@"FAIL");
}
return success;
}