我正在嘗試使用查詢來使用鍵值對更新表中的行。所以 column-value 是key的行用value更新。
為此,我嘗試使用:
UPDATE access_keys
SET global_id=a.global_id
FROM access_keys
INNER JOIN (VALUES (1,123),(2,321)) as a(id, global_id)
on a.id = access_keys.id WHERE a.id = access_keys.id;
和
UPDATE access_keys
SET global_id=a.global_id
FROM (VALUES (1,123),(2,321)) as a(id, global_id)
WHERE a.id = access_keys.id;
在這兩種情況下,我都得到:
“(”附近:語法錯誤(1)
我的錯誤在哪里?提前致謝。
uj5u.com熱心網友回復:
SQLite 不支持使用VALUES.
您可以使用別名column1,column2:
UPDATE access_keys AS ak
SET global_id = v.column2
FROM (VALUES (1, 123),(2, 321)) AS v
WHERE v.column1 = ak.id;
或者,更簡單,使用 CTE:
WITH cte(id, global_id) AS (VALUES (1, 123),(2, 321))
UPDATE access_keys AS ak
SET global_id = c.global_id
FROM cte AS c
WHERE c.id = ak.id;
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/514714.html
上一篇:將python連接到sqlite
