2
我想UPDATE一排,其中key = LastSelected
如果與該鍵的行不存在,我想INSERT它。的Android SQLite的更新/插入
我可以得到UPDATE如果行已經存在的工作,但它不會INSERT如果它丟失了。
我嘗試了這些(第一個正確更新,但不會插入):
String.format("UPDATE table_1 SET value = '%s' WHERE key = 'LastSelected'", s);
String.format("REPLACE table_1 SET value = '%s' WHERE key = 'LastSelected'", s);
String.format("INSERT OR REPLACE INTO table_1 SET value = '%s' WHERE key = 'LastSelected'", s);
你應該看看中準備語句 - 通常,字符串插補'String.format'是準備SQL不安全的方法,因爲它是難以確保一切都妥善轉義,使SQL正確,並避免SQL注入。準備好的語句可以讓你在SQL中插入佔位符(通常是'?'),然後將值綁定到這些參數。一切都由SQL引擎處理,以確保數據編碼正確。 –