On 13 Oct 2017, at 2:19am, Fiona <cxfhn1...@gmail.com> wrote:

> Thanks a lot! Yes, that's the situation. I'm using WHERE clause in my
> UPDATE/DELETE sentences, and I'm pretty sure the syntax and my shell are not
> the problem, because there has no retrun of error, and I also test the same
> UPDATE/DELETE sentences with the same shell tool but in a small db file, it
> works correctly.

Here is an example of a command which returns no error but does not do what you 
want:

DELETE FROM MyTable WHERE myColumn = '"2"'

A DELETE or UPDATE command which affects no rows is a successful command and 
returns SQLITE_OK.

> I assume the problem is caused by some kind of *db file consistency check* I
> don't know? Or sqlite is doing some *index rebuilding* for my UPDATE/DELETE
> operation?  What I really can't understand is why INSERT still works in the
> mean time.

SQLite does none of those.  Have your program print out the actual command it’s 
trying to execute.  Then try typing it manually.  See if it works when you type 
it by hand.

Your problem is probably to do with quote characters " ' “ ' `.  The quote 
characters you expect to be passed to SQLite may be interpreted by your shell 
instead.  Or maybe the other way around.

If you can post the command you’re trying to execute we might be able to help 
further.

Simon.
_______________________________________________
sqlite-users mailing list
sqlite-users@mailinglists.sqlite.org
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to