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