ios - 将值插入 fmdb 时出错

标签 ios sqlite insert insert-update fmdb

我的代码如下:

[db executeUpdate:@"INSERT INTO usercart (id, productid, name, description, campaignid, startdate, enddate, martid, martname, price, update) VALUES (?,?,?,?,?,?,?,?,?,?,?)",(int)cartItem.databaseId,(int)cartItem.itemId,cartItem.itemName,cartItem.itemDescription,(int)cartItem.campaignId,cartItem.campaignStartDate,cartItem.campaignEndDate,(int)cartItem.martId,cartItem.martName,(int)cartItem.itemPrice,cartItem.lastUpdate]

我在下面收到一条错误消息:

DB Error: 1 "near "update": syntax error"
DB Query: INSERT INTO usercart (id, productid, name, description, campaignid, startdate, enddate, martid, martname, price, update) VALUES (?,?,?,?,?,?,?,?,?,?,?)
DB Path: file:///var/mobile/Containers/Data/Application/2F08F458-BAB3-4523-B942-68ABF67CACF6/Documents/HaffleMonster.sqlite
Error Domain=FMDatabase Code=1 "near "update": syntax error" UserInfo=0x170e65740 {NSLocalizedDescription=near "update": syntax error}
near "update": syntax error

我不知道为什么。我认为我对 sqlite 和 fmdb 的语法是正确的,你能解释一下为什么吗?

最佳答案

我认为您不能将 update 用作变量名,因为 SQL 使用它。就像您不能使用 insertinto 作为变量名一样。

你要么需要改变变量名,要么用[]封装它,像这样[update]。所以它是这样写的:

...price, [update]) VALUES (?,?,?...

关于ios - 将值插入 fmdb 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29792321/

相关文章:

mysql - sql,从所选数据中插入随机数据

尝试使用 list.insert 时出现 Python 索引错误

iOS 实时摄像头叠加 AVCaptureSession

ios - 在具有外部 URL 的 iOS 上使用 PhoneGap/Cordova

mysql - 简单但棘手的 sqlite 搜索查询

android - 将数据库从 RES 文件夹复制到 Android 中的 Google Nexus One 中的本地数据库?

sql - SQLITE查询帮助

ios - 出于测试目的在 UIViewController 上设置显式 screenOrientation

iphone - Storyboard UITableView 中的自定义单元格未在带有 UITableViewCellStyleDefault 的 ios7 中被拾取

sql - INSERT 是否可以在触发器 "inserted"表中产生多行结果?