Quando usar SQLITE_TRANSIENT vs SQLITE_STATIC?

Eu gostaria de criar / atualizar colunas de texto no sqlite3. Quando eu recupero linhas após a criação / atualização, o texto é '?'. Valores inteiros são corretamente persistidos no entanto.

Minhas declarações de texto são assim:

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);

Eu tentei SQLITE_TRANSIENT, bem como SQLITE_STATIC. Ambos os casos parecem produzir os mesmos resultados ('?'). Eu também verifiquei que os valores de texto são válidos quando são passados ​​para as instruções sql apropriadas aqui.

Alguma ideia?

questionAnswers(1)

yourAnswerToTheQuestion