我正在尝试定义交错表,并且当我们具有父表主表和交错表外键的相同列名时它可以工作。我已经将我的数据库从 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”作为外键。