diff --git a/src/ssb.import.c b/src/ssb.import.c index 5e1a9489..e9b435d7 100644 --- a/src/ssb.import.c +++ b/src/ssb.import.c @@ -165,7 +165,7 @@ static bool _tf_ssb_register_app(tf_ssb_t* ssb, const char* user, const char* ap bool result = false; sqlite3_stmt* statement; sqlite3* db = tf_ssb_acquire_db_writer(ssb); - if (sqlite3_prepare(db, "INSERT OR REPLACE INTO properties (id, key, value) VALUES (?1, 'path:' || ?2, ?3)", -1, &statement, NULL) == SQLITE_OK) + if (sqlite3_prepare(db, "INSERT INTO properties (id, key, value) VALUES (?1, 'path:' || ?2, ?3) ON CONFLICT DO UPDATE SET value = excluded.value WHERE value != excluded.value", -1, &statement, NULL) == SQLITE_OK) { if (sqlite3_bind_text(statement, 1, user, -1, NULL) == SQLITE_OK && sqlite3_bind_text(statement, 2, app, -1, NULL) == SQLITE_OK && sqlite3_bind_text(statement, 3, id, -1, NULL) == SQLITE_OK && sqlite3_step(statement) == SQLITE_DONE)