SQLITE中的条件INSERT或UPDATE

时间:2014-01-14 07:59:58

标签: ios sqlite

请在SQLITE中了解INSERT或UPDATE

我正在使用此代码
  NSString *insertSQL = [NSString stringWithFormat: @"INSERT INTO downloadedBook(bookID, courseID, bookName, bookPath, bookVersion, pageAmount, price, episode) VALUES (\"%@\",\"%@\", \"%@\", \"%@\", %f, %d,%f, \"%@\")",bookID,courseID,bookName,bookPath,bookVersion,pageAmount,price,episode];

表示插入,

和此代码

NSString *updateSQL = [NSString stringWithFormat: @"UPDATE downloadedBook SET bookID = \"%@\",courseID = \"%@\", bookName = \"%@\", bookPath = \"%@\", bookVersion = %f, pageAmount = %d, price = %f,episode = \"%@\" WHERE bookID = \"%@\"" , bookID,courseID,bookName,bookPath,bookVersion, pageAmount, price, episode,bookID];

进行更新。

它运行正常。现在,如何在执行这些操作时使用if条件?例如,我想检查“如果我有这个,数据将更新”请咨询。

我该怎么做请指导我。

1 个答案:

答案 0 :(得分:2)

  1. 确保该表具有一些唯一约束,例如bookID INTEGER PRIMARY KEY

  2. INSERT OR REPLACE INTO ...与您拥有的插入语法一起使用。如果插入会导致违反约束(例如bookID已存在),则首先删除冲突的行,然后插入数据。

  3. 还要考虑使用预处理语句和文件的?占位符来防止SQL语法问题和注入攻击,并提高性能。