TableA:
ID NAME
0 Thomas
1 Johnson
2 Harry
TableB:
ID IDA ANAME
0 2 Harry
1 0 Thomas
2 1 Johnson
我在“TableA”栏目的“TableB”中创建了一个外键,在“TableA”中引用了“ID”,其中包含以下内容:
FOREIGN KEY (IDA) REFERENCES TableA(ID)
对于“TableB”中的给定行,我能够获得上述约束定义的“TableA”中的相应行。那么如何确保“TableB”中特定行的“ANAME”在“TableA”中的相应行中具有“NAME”的值?我尝试了以下内容,但不幸的是它被证明是无效的(在“ANAME”错误附近缺少逻辑)
FOREIGN KEY (IDA) REFERENCES TableA(ID) ON UPDATE SET ANAME = TableA.Name
答案 0 :(得分:3)
简短回答 - 跨表复制数据几乎从来都不是一个好主意,所以不要这样做。
使用ID列上的外键可以在需要时从TableA中获取您的名字,而不是
SELECT id, ida, aname
FROM TableB;
使用
SELECT b.id, b.ida, a.name AS aname
FROM TableB b
JOIN TableA ON b.ida = a.id;