在 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 錯誤或缺少資料庫(“.”附近;語法錯誤)
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 中的 ASELECT作業:
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
uj5u.com熱心網友回復:
如果您從子句p.的更新列中洗掉限定符,您的查詢在語法上將是正確的:SET
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;
但是,我相信您不需要額外加入Tbl_RawDataPART.
這是使用SQLite 中的語法撰寫類似連接的 UPDATE陳述句的方式:UPATE...FROM
UPDATE Tbl_RawDataPART AS p
SET MessageClean = w.Vertaling,
GedetecteerdeTaal = w.Taal
FROM Tbl_WoordenNietVertalen AS w
WHERE w.Woord = p.message AND p.GedetecteerdeTaal IS NULL;
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/530688.html
上一篇:執行com.android.build.gradle.internal.tasks.MergeNativeLibsTask$MergeNativeLibsTaskWorkAction時發生故障
