0

我的问题是我只知道 id_house = 10 的房子主人的新名字,所以这段代码应该可以工作。如果我尝试在 LibreOffice Base 中运行它,它会显示意外结束 INNER,需要 SET 语句 [update "t_Owner" inner] 你能帮帮我吗?对不起我的英语不好 D:

update "t_Owner"
inner join "t_house"
    on t_house.id_ownerr = t_Owner.id_ownerr
set "name"='yes'
where "id_house" = '10'

t_Owner 列:id_ownerr、name、surname、address
t_house 列:id_house、id_district、id_ownerr

4

2 回答 2

0
 update "t_Owner"
     set "name"='yes' where "id_ownerr" 
          IN ( SELECT "id_ownerr" FROM "t_house" where "id_house" = '10' )
于 2016-12-08T15:21:26.090 回答
0

在 LO 中,当使用默认的嵌入式数据库 HSQLDB 1.8 时,查询(即使用连接的事物)并不总是可更新的。事实上,它们几乎总是不可更新的。

要自己测试这一点,请尝试使用您的连接和您需要的字段创建一个查询,并查看它是否可更新。打赌不是。

您可以使用 2.3(通过拆分数据库设置工具),或者执行我在 MariaDB 中运行的操作并使用连接器。

于 2017-03-08T06:31:24.600 回答