我只是有一个关于 MySQL Workbench 和脚本的简单问题(我相信)。我要创建的数据库非常小;但是,我在定义外键时遇到问题。我收到错误 1215:无法为“Cuenta”表添加外键约束,我不知道为什么。
数据库名为 cajero,它有两个表:Cliente 和 Cuenta。
这是脚本
USE cajero;
CREATE TABLE Cliente(
usuario VARCHAR(20) NOT NULL,
passw VARCHAR(15) NOT NULL,
cuenta INT(10) NOT NULL,
nombre VARCHAR(40) NOT NULL,
primary key(usuario)
)Engine=InnoDB;
alter table Cliente
drop primary key,
Add primary key(usuario, cuenta);
Use cajero;
CREATE TABLE Cuenta(
idcuenta INT(10) NOT NULL,
saldo float(15,2) NOT NULL,
primary key(idcuenta)
)Engine=InnoDB;
Use cajero;
Alter table cuenta
add foreign key(idcuenta) references Cliente(cuenta);
最佳答案
Cuenta
表中的 FK 仅引用 Cliente
表中的多列 PK 的一列。您要么必须在 Cliente
中创建另一个仅提及 cuenta
列的索引,要么必须更改 FK,以便它引用 PK 中的所有列。
关于mysql - 无法将外键约束添加到多列 pk,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40229434/