SQLite Forum

In C API, do prepared statements of simple inserts execute repeatedly even if not reset?
I have a stupid question that I'm curious about because I made a stupid mistake but half of the process appears to have worked despite the error.

I left out some sqlite3_reset() statements for persistent prepared statements that were used to insert data.  The same prepared statement was executed thousands of times without being reset and the data looks fine.

However, when I altered the code to test the success of each write to the database by extracting a piece of the just written data and sent it back to the sending application, it failed to extract the data; and that is how I noticed my mistake.

Do prepared statements that are simple inserts continue to work properly without running sqlite_reset()? The inserts are pretty simple because identically structured JSON passed to the C code is parsed using JSON_tree() and then written to the database based on path or fullkey.

Of course, I don't intend to code that way but wondered why the code didn't error/fail upon attempting to execute the prepared statement a second time for insert when it does for select. 

Thank you.