将值插入 fmdb 时出错
Error when inserting value into 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 使用。就像你不能使用 insert
或 into
作为变量名一样。
您要么需要更改变量名,要么用[]
封装它,就像这样[update]
。所以它显示为:
...price, [update]) VALUES (?,?,?...
我编码的如下:
[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 使用。就像你不能使用 insert
或 into
作为变量名一样。
您要么需要更改变量名,要么用[]
封装它,就像这样[update]
。所以它显示为:
...price, [update]) VALUES (?,?,?...