我需要更新表的 id 字段,而不触及任何其他字段

发布于 2024-12-11 19:49:11 字数 657 浏览 0 评论 0原文

我有一个名为 _field 的表。现在,由于某种原因,表中名为 block 的字段变得混乱,并且现在包含错误的块号。 我有 _field 的默认数据,但由于外部约束等原因,其他一些字段不能再默认,所以,我不能只恢复默认数据。 因此,现在我创建了一个名为 tmp_field 的新表,并使用默认的 _field 数据填充它。

现在,我需要一个查询,从 _field 获取数据并更改 _field 中的所有 block 数字以匹配 block< /code> 来自 tmp_field 的数字。

另一种表达方式是:
它检查 _field 的每一行,以及某个字段(例如 fieldidname)是否与 tmp_field 中的相同字段匹配,然后它更改 _field 中的 block 值以匹配 tmp_field 中的 block 值。

注意:我使用的是 Postgresql 9.1。

感谢一切。

I have a table called _field. Now, for some reason, a field inside the table called block got messy and now contains the wrong block numbers.
I have the default data for _field, but some of the other fields can no longer be at default because of foreign constraints and stuff, so, I can't just restore the default data.
So, for now, I created a new table called tmp_field and populated it with the default _field data.

Now, I need a query that takes the data from _field and changes all of the block numbers in _field to match the block numbers from tmp_field.

Another way to phrase it would be:
It checks each row of _field and if some field (like fieldid or name) matches the same field in tmp_field, then it changes the value of block in _field to match the value of block in tmp_field.

Note: I am using Postgresql 9.1.

Thanks for everything.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

我们的影子 2024-12-18 19:49:11
UPDATE _field
    SET block = tmp_field.block
    FROM tmp_field
    WHERE _field.fieldid = tmp_field.fieldid
        OR _field.name = tmp_field.name
UPDATE _field
    SET block = tmp_field.block
    FROM tmp_field
    WHERE _field.fieldid = tmp_field.fieldid
        OR _field.name = tmp_field.name
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文