Kiedy używać SQLITE_TRANSIENT vs SQLITE_STATIC?

Chciałbym utworzyć / zaktualizować kolumny tekstowe w sqlite3. Podczas pobierania wierszy po utworzeniu / aktualizacji tekst jest „?”. Wartości całkowite są jednak prawidłowo zachowywane.

Moje instrukcje tekstowe wyglądają tak:

const char *sql = "INSERT INTO todo(title, description, priority, status, created, expires, posx, posy, updated)"
                  " VALUES('?', '?', '?', '?', '?', '?', '?', '?', '?');";
if (sqlite3_prepare_v2(database, sql, -1, &insert_statment, NULL) != SQLITE_OK)
    ...
sqlite3_bind_text(update_statment, 5, [[dt stringFromDate:self.updated] UTF8String], -1, SQLITE_TRANSIENT);

Próbowałem zarówno SQLITE_TRANSIENT, jak i SQLITE_STATIC. Oba przypadki wydają się dawać takie same wyniki („?”). Sprawdziłem również, czy wartości tekstowe są poprawne, gdy są przekazywane do odpowiednich instrukcji sql tutaj.

Jakieś pomysły?

questionAnswers(1)

yourAnswerToTheQuestion