【问题标题】:How to recover deleted rows in Big Query?如何恢复 Big Query 中已删除的行?
【发布时间】:2019-09-03 09:31:29
【问题描述】:

我在 Google Big Query 中运行以下查询:

DELETE FROM mydataset.mytable_wrong

WHERE time = "2019-09-01 13:00:00 UTC"

然后我意识到这是错误的表。我可以以某种方式恢复这些行或撤消查询吗?

该表仍然存在。

谢谢

编辑以添加更多信息: 表已分区。

【问题讨论】:

    标签: sql google-cloud-platform google-bigquery


    【解决方案1】:

    您可以使用snapshot decorator 查询数据的时间点快照。您可以使用它还原更改。检查how to restore a deleted table,我认为您可以推断来恢复您的数据。

    另外,这里有一个similar Stackoverflow answer 提供更多信息。

    【讨论】:

    • 嗨@Guillermo,我看到了那个答案和装饰器文档。非常有用,但我一直有这个错误:Table "project_id.mydataset.mytable_wrong@1567500883493" cannot include decorator。有任何想法吗?顺便说一句,我使用了标准 SQL,当我尝试使用 legacySQL 时,它再次出错并要求我使用标准。并且表也是分区的。
    • @Lev chan 你检查this answer?显然,对于标准 SQL,您必须使用 FOR SYSTEM_TIME AS OF。至少它适用于已删除的表
    • @Lev 你在使用FOR SYSTEM_TIME AS OF 时遇到与装饰器相关的错误?这很奇怪。我没有想法,但如果您使用的是标准 SQL,请检查 Query Syntax page,也许您会在那里看到可以帮助查询正常工作的内容
    • 遇到同样的问题,快照装饰器工作了,但数据不存在,我不太明白发生了什么……也许 SQL 删除不起作用?
    猜你喜欢
    • 1970-01-01
    • 2015-12-18
    • 1970-01-01
    • 1970-01-01
    • 2016-02-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多