请在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
条件?例如,我想检查“如果我有这个,数据将更新”请咨询。
我该怎么做请指导我。
答案 0 :(得分:2)
确保该表具有一些唯一约束,例如bookID INTEGER PRIMARY KEY
。
将INSERT OR REPLACE INTO ...
与您拥有的插入语法一起使用。如果插入会导致违反约束(例如bookID
已存在),则首先删除冲突的行,然后插入数据。
还要考虑使用预处理语句和文件的?
占位符来防止SQL语法问题和注入攻击,并提高性能。