SQLite Forum

UPSERT On Conflict with no target
Login
From [UPSERT doc](https://www.sqlite.org/lang_UPSERT.html)

> [...] The conflict target specifies a specific uniqueness constraint that will trigger the upsert.  
> The conflict target is required for DO UPDATE upserts, but is optional for DO NOTHING.  
> When the conflict target is omitted, the upsert behavior is triggered by a violation of **any**  
> uniqueness constraint on the table of the INSERT. [...]

My table has a single (3-column) UNIQUE constraint, and no other constraints.  
An `insert ... on conflict do update set ...` fails with a syntax error.  
While `insert ... on conflict(col1, col2, col3) do update set ...` is OK.

I'm obviously misreading the _When the conflict target is omitted_ sentence.  
What am I missing? That somehow applies to _DO NOTHING_ only? The previous  
sentence does say _required for DO UPDATE_, but the next one read independently to me.  

In any case, I find this confusing as written, FWIW. Thanks, --DD