I want to UPDATE a row in my table, WHERE key = LastSelected
If a row with that key does not exist, I want to INSERT it.
I can get the UPDATE to work if the row already exists, but it will not INSERT if it is missing.
I have tried these (the first one correctly updates, but does not 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.formatis an unsafe way to prepare SQL, as it is difficult to make sure everything is properly escaped to make the SQL correct and avoid SQL injections. Prepared statements let you insert placeholders (typically '?') in your SQL, and then bind values to those parameters. Everything is then handled by the SQL engine to make sure that the data is encoded properly.