更新查询问题

时间:2011-10-18 08:09:32

标签: sqlite

我正在移植使用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

3 个答案:

答案 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)