我正在移植使用MS Access到Sqlite的代码。 我遇到了UPDATE查询的问题,
UPDATE Table1 T1, Table2 T2
SET T1.USE_MHE = T2.USE_MHE
WHERE T1.EQ_NAME= T2.EQ_NAME
以上查询适用于MS访问ADO连接。但是对于SQLite来说,看起来使用表快捷方式是不可能的(Table1 T1)我有100个这样的查询要更新。 请告诉我如何在SQLite更新查询中使用表快捷方式。
5:SqliteError
near "T1" Syntax error
答案 0 :(得分:0)
UPDATE docs表明这是不可能的。 也许你可以通过虚拟或临时表来破解一些东西,但我认为这比使用完整的表名更复杂。
除此之外,你可以简单地使用别名和编辑器的替换工具。
答案 1 :(得分:0)
update table1
set use_mhe=( select use_mhe
from table2
where eq_name=table1.eq_name )
where use_mhe= ( select use_mhe
from table2
where eq_name=table1.eq_name )
不为空;
答案 2 :(得分:0)
试试这个:
UPDATE Table1
SET USE_MHE = (SELECT USE_MHE FROM Table2 WHERE Table1.EQ_NAME = Table2.EQ_NAME)