在 Spanner 数据库中,我可以更改现有的外键以实现交错关系吗?

问题描述 投票:0回答:1

我正在创建一个脚本来创建 Spanner 数据库,我有一些一对多关系,并且我想像其他数据库一样使用外键。如果将来我决定使用交错关系,我可以更改现有的交错外键吗?

创建歌手表 ( SingerId INT64 NOT NULL, 名字 STRING(1024), 姓氏 STRING(1024), ) 主键(歌手 ID);

创建表相册 ( SingerId INT64 NOT NULL, 专辑 ID INT64 NOT NULL, 专辑标题 STRING( MAX), ) 主键(歌手 ID、专辑 ID);

ALTER TABLE 专辑 添加约束Albums_fk FOREIGN KEY (SingerId) REFERENCES Singers (SingerId);

这是我的示例脚本,我想用这个脚本创建我的数据库,并在数据库创建后修改将来的关系

google-cloud-spanner
1个回答
0
投票

Spanner 不支持交错现有表。您可以通过将“子”表复制到另一个表(例如 child_temp)来解决此问题。删除现有的子项,然后使用相同的名称创建一个新的子项,并将其与父项交错。将数据从 child_temp 复制到 child,然后删除 child_temp。

© www.soinside.com 2019 - 2024. All rights reserved.