GCP:我们可以在扳手中修改现有表的主键吗

Posted

技术标签:

【中文标题】GCP:我们可以在扳手中修改现有表的主键吗【英文标题】:GCP: Can we modify primary key of an existing table in spanner 【发布时间】:2019-11-01 00:46:27 【问题描述】:

我想将 Spanner 中现有表的主键从 Col1 修改为 Col1 和 Col2 的组合。在 Spanner 中可以做到吗?

此选项在控制台中不可用。也许可以用脚本来完成!

【问题讨论】:

【参考方案1】:

GCP 团队回复如下:

现在唯一的方法是使用导入/导出功能重新创建数据库 在 Spanner 积压(无 ETA)上提出了功能请求:https://issuetracker.google.com/135719292

【讨论】:

【参考方案2】:

表的键不能改变;您不能向现有表添加键列或从现有表中删除键列。

Schema and data model | Cloud Spanner Documentation | Google Cloud

【讨论】:

如果我们的业务需求发生变化,那么 Spanner 中的相同选项是什么?我们是否假设创建一个新表并将数据移动到其中。似乎很奇怪,因为我们无法提前知道所有要求,所以他们不是处理它的好方法! @Ayush,这是正确的。随时向团队提出功能请求:issuetracker.google.com/issues/… 谢谢,我在我们的项目下添加了 GCP 支持票。如果我从 GCP 产品团队获得更新,会通知所有人。

以上是关于GCP:我们可以在扳手中修改现有表的主键吗的主要内容,如果未能解决你的问题,请参考以下文章

我们可以将现有列作为主键吗?

mysql表中一个表中可以有多个主键吗?

可以使用实体框架在另一个表中调用两次作为外键的主键吗?

mysql表中一个表中可以有多个主键吗

数据库表可以没有主键吗?

SQL中的每一张表都必须设有主键吗