Ale*_*ell 2 sqlite syntax-error sql-update
为什么我在sqlite下的以下SQL语句中出现语法错误?
错误读取:
SQL错误:"SET"附近:语法错误
UPDATE nova
SET Nome = (select Nome from assessores where nova.ID = assessores.ID),
SET Morada = (select Morada from assessores where nova.ID = assessores.ID),
SET Email = (select Email from assessores where nova.ID = assessores.ID),
SET TelfCasa = (select TelfCasa from assessores where nova.ID = assessores.ID),
SET TelfEmprego = (select TelfEmprego from assessores where nova.ID = assessores.ID),
SET Telemovel = (select Telemovel from assessores where nova.ID = assessores.ID),
SET Fax = (select Fax from assessores where nova.ID = assessores.ID)
WHERE EXISTS (select * from assessores where nova.ID = assessores.ID);
Run Code Online (Sandbox Code Playgroud)
如果我尝试完全限定SET字段名称,则错误变为:
SQL错误:"."附近:语法错误
你只需要一个SET开头.您还可以通过将两个表连接在一起并消除子查询来简化查询.
UPDATE nova JOIN assessores ON nova.ID = assessores.ID
SET nova.Nome = assessores.Nome,
nova.Morada = assessores.Morada,
nova.Email = assessores.Email,
nova.TelfCasa = assessores.TelfCasa,
nova.TelfEmprego = assessores.TelfEmprego,
nova.Telemovel = assessores.Telemovel,
nova.Fax = assessores.Fax;
Run Code Online (Sandbox Code Playgroud)