我很困惑,因为当我在SQLite上运行这个查询时。
在MacOS Mojave SQLITE上,我在“FROM”上得到一个语法错误。没有更多的细节。
这对Postgres有效。
我是否以错误的方式阅读了 SQLite 文档?https://sqlite.org/lang_update.html
以下是查询:
BEGIN;
-- Statement 1
CREATE TEMP TABLE tempEdits (identifier text, serverEditTime double precision);
-- Statement 2
INSERT INTO tempEdits (identifier, serverEditTime)
VALUES
('uuid1', 1.5),
('uuid2', 2.2),
('uuid3', 3.3);
-- Statement 3
UPDATE
"pEdits"
SET
"serverEditTime" = t.serverEditTime
FROM
"pEdits" AS e JOIN tempEdits AS t ON e.identifier = t.identifier
WHERE
e.identifier = t.identifier;
END;
设置查询:
CREATE TABLE "pEdits" (identifier text, serverEditTime double precision);
INSERT INTO (identifier)
VALUES
('uuid1'),
('uuid2'),
('uuid3');
你想要的逻辑是:
UPDATE "pEdits"
SET "serverEditTime" = t.serverEditTime
FROM tempEdits t
WHERE "pEdits".identifier = t.identifier;
换句话说,正在更新的表不应该在From
子句中重复——嗯,除非您的意图是自连接。
SQLite不支持UPDATE
语句中的联接。
相反,您应该使用相关子查询:
UPDATE pEdits
SET serverEditTime = (
SELECT t.serverEditTime
FROM tempEdits AS t
WHERE t.identifier = pEdits.identifier
);
观看演示。
编辑:从版本3.33.0(2020-08-14)开始,SQLite支持类似Postgresql的from
子句。看见https://www.sqlite.org/lang_update.html#upfrom
我找不到任何东西来解释为什么当调用一个SP时,它根据记录是否已经存在于我得到的时态表上来执行插入或更新 系统版本表“MYDB.dbo”上的数据修改失败。“TemporalExample”,因为受影响记录的事务时间早于时段开始时间。 那是什么意思?这似乎只是偶尔发生,我不知道是不是因为我在运行多线程代码,而azure sql只是不喜欢当它是一个时态表时相互连接到同一个表?我正在浏览实体框架(最新版本
提前感谢!
问题内容: 我有两张桌子。 表1 包含的公司的地理位置在经纬度坐标中以lat / lng坐标进行地理定位 表2 还包含 表1 中未地理参考的相同公司,以及数百个地址已地理参考的其他公司。 我需要做的就是将 Table1* 公司的lat / lng值插入 表2中 的相应条目中。这些插入可以基于的共同点是该列。 *** 我敢肯定,这是一个简单的问题,但是我很少使用SQL。 问题答案: 假设 插入“ t
我看过很多关于如何在chart.js中添加数据的教程,但都是针对单个图表的。 我使用chartjs创建多个图表(每个图表都有自己的画布和唯一的ID)。例如:图表1位于id=“c1”的画布中,图表2位于id=“c2”的画布中。如何选择图表1并添加新数据?
我已经创建了一个多边形表(多边形),其中包含名称和点(使用多边形值) 我有另一个表(latlon ),它有lat和lot列,包含超过一百万条记录 我必须在“多边形”表中的点的帮助下更新纬度表中的列(区域名称) 以下 select 语句为一条记录提供正确的输出。 有人能帮我在POSTGIS中编写一个UPDATE查询来获取更多的lat,lon值吗?
问题内容: 这似乎很简单,但我坚持使用简单的insert语句。请参见以下内容: 在临时表行中,实际列表是从其他位置动态拉出的(这是出于演示目的)。我收到以下错误消息: 错误代码:1054。“字段列表”中的未知列“ insert_table.resource_id” 现在,我可以在整个temp表上运行一次select,它返回正常值,只是在update语句中失败。我正在MySQL工作台上运行它。完全不