简体   繁体   中英

"Ambiguous column name" in SQLite using update and set

First of all, I'm sorry because I know there are many questions regarding "Ambiguous column name" error here in Stack but I'm really newbie in SQL and doing my first queries using SQLite I found this error. After analyzing other several questions I didn't find a solution for my problem (maybe, it's here for sure but I couldn't find) and this is: When I use update , set and doing any operation such as the example I put... Well, the error appears and I don't understand the problem. I tried some options but nothing.

update nota
set subtot=cantidad*precio
from nota inner join producto on producto.clave_prod=nota.clave_prod1;

"Cantidad" column is on table called "nota" and "precio" column is on table called "producto" and both are linked between foreign keys.

Thank you so much in advance!

Your syntax is wrong.
There is no need to refer to the updated table after FROM and the ON clause must be replaced with a WHERE clause.

This is the correct syntax (if your SQLite version is 3.33.0+) for a join-like UPDATE satement:

update nota
set subtot = nota.cantidad * producto.precio -- subtot must not be qualified with nota.
from producto 
where producto.clave_prod = nota.clave_prod1;

or with aliases:

update nota AS n
set subtot = n.cantidad * p.precio -- subtot must not be qualified with n.
from producto AS p
where p.clave_prod = n.clave_prod1;

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM