我有三张桌子:
CREATE TABLE A (
id int(11) NOT NULL AUTO_INCREMENT,
adata varchar(255),
PRIMARY KEY (id)
);
CREATE TABLE B (
id int(11) NOT NULL AUTO_INCREMENT,
bdata varchar(255),
a_id int(11) NOT NULL,
PRIMARY KEY (id),
FOREIGN KEY (a_id) REFERENCES A(id) ON DELETE CASCADE
);
CREATE TABLE C (
id int(11) NOT NULL AUTO_INCREMENT,
cdata varchar(255),
b_id int(11) NOT NULL,
PRIMARY KEY (id),
FOREIGN KEY (b_id) REFERENCES B(id) ON DELETE CASCADE
);
C
(与B
&s;)关联的元素必须仅对给定的A
唯一。即,(cdata
和b_id.a_id
)的组合必须是唯一的。
我意识到我可以在A
表中添加另一列(指向C
)并创建一个唯一键。有没有办法在不向C
添加其他列的情况下强制实现唯一性?