【发布时间】:2020-11-30 18:32:54
【问题描述】:
我正在尝试定义交错表,当父表主表和交错表外键的列名相同时,它可以工作。我已经将我的数据库从 mysql 迁移到 spanner。所有表都以 'id' 作为主键列名。
请考虑以下示例:
CREATE TABLE Singers (
Id INT64 NOT NULL,
FirstName STRING(1024),
LastName STRING(1024),
SingerInfo BYTES(MAX),
) PRIMARY KEY (Id);
CREATE TABLE Albums (
SingerId INT64 NOT NULL,
Id INT64 NOT NULL,
AlbumTitle STRING(MAX),
) PRIMARY KEY (SingerId, Id),
INTERLEAVE IN PARENT Singers ON DELETE CASCADE;
这对我不起作用,因为父(歌手)表具有“id”作为主键列,子表具有“SingerId”作为外键。
【问题讨论】:
标签: database google-cloud-spanner interleave