我正在尝试在DBeaver中使用SQLite 3.39.3:
UPDATE Tbl_RawDataPART
SET p.MessageClean = w.Vertaling, p.GedetecteerdeTaal = w.Taal
FROM Tbl_RawDataPART as p
INNER JOIN Tbl_WoordenNietVertalen as w ON p.message = w.Woord
WHERE p.GedetecteerdeTaal Is Null
我得到了:
SQL错误[1]:[SQLITE_ERROR]SQL错误或缺少数据库(NEAR“.”;语法错误)
Microsoft Access中的相同查询也适用:
UPDATE Tbl_RawDataPART INNER JOIN Tbl_WoordenNietVertalen
ON Tbl_RawDataPART.message = Tbl_WoordenNietVertalen.Woord
SET Tbl_RawDataPART.MessageClean = [Tbl_WoordenNietVertalen]![Vertaling], Tbl_RawDataPART.GedetecteerdeTaal = [Tbl_WoordenNietVertalen]![Taal]
WHERE (((Tbl_RawDataPART.GedetecteerdeTaal) Is Null));
DBeaver中的SELECT
工作正常:
SELECT *
FROM Tbl_RawDataPART as p
INNER JOIN Tbl_WoordenNietVertalen as w ON p.message = w.Woord
WHERE p.GedetecteerdeTaal Is Null
如果我执行UPDATE
,我得到相同的错误:
UPDATE Tbl_RawDataPART
SET p.MessageClean = "x"
WHERE p.GedetecteerdeTaal is null
1条答案
按热度按时间c8ib6hqw1#
如果从
SET
子句的已更新列中删除p.
限定符,则查询在语法上是正确的:但是,我相信您不需要额外的联接到
Tbl_RawDataPART
。以下是在SQLite中使用
UPATE...FROM
语法编写Join-likeUPDATE
语句的方法: