On 9/21/15, Hugues Bruant <hugues at aerofs.com> wrote:
> On Mon, Sep 21, 2015 at 6:49 PM, Richard Hipp <drh at sqlite.org> wrote:
>
>> On 9/21/15, Hugues Bruant <hugues at aerofs.com> wrote:
>> > Table schema:
>> >
>> > CREATE TABLE cv (cv_s integer not null, cv_o blob not null, cv_t
>> > integer
>> > not null, primary key(cv_s, cv_o));
>> >
>> > Prepared statement:
>> >
>> > UPDATE cv SET cv_t=? where cv_s=? and cv_o=?;
>>
>> My guess is that the WHERE clause matches no rows.  So it isn't
>> silently failing, it is doing exactly what it is suppose to do:
>> Update only those rows you have specified.
>>
> I wish it where that simple.
>
> The where clause should match, as evidenced by the fact that:
>
> SELECT cv_t from cv where cv_s=? and cv_o=?;
>
> returns the correct value both before and after the failing UPDATE.
>
> If that's not convincing enough, I should mention that the code checks the
> change count and falls back to an INSERT if the UPDATE reports that no
> rows where updated. This results in a SQLITE_CONSTRAINT error, which
> is how we discovered that the update was failing in the first place.

If you can tell us how to reproduce the problem, we'll work on it for
you.  But until then, there isn't much we can do.

Which version of SQLite is this, btw?   What OS?  Are you compiling
SQLite yourself, or using a library that somebody has built for you?
What programming language are you using?
-- 
D. Richard Hipp
drh at sqlite.org

Reply via email to