int sqlite3_blob_reopen(sqlite3_blob *, sqlite3_int64);
此函数用于移动现有的BLOB句柄,使其指向同一数据库表中的不同行。新行由作为第二个参数传递的rowid值标识。只有行可以更改。BLOB句柄打开的数据库、表和列保持不变。将现有的BLOB句柄移动到新行比关闭现有句柄并打开新句柄更快。
新行必须满足与sqlite3_blob_open()相同的条件 - 它必须存在,并且在指定的列中必须存储blob或文本值。如果新行不存在于表中,或者如果它不包含blob或文本值,或者如果发生其他错误,则会返回SQLite错误代码,并且BLOB句柄被视为已中止。随后对已中止BLOB句柄的所有sqlite3_blob_read()、sqlite3_blob_write()或sqlite3_blob_reopen()调用都会立即返回SQLITE_ABORT。对已中止BLOB句柄调用sqlite3_blob_bytes()始终返回零。
此函数设置数据库句柄错误代码和消息。