我只有一个关于MySQL工作台和脚本的简单问题(我相信)。我正在尝试创建的数据库非常小;但是,在定义外键时遇到问题。我收到错误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);
答案 0 :(得分:0)
Cuenta
表中的FK仅引用Cliente
表中多列PK的一列。您必须在Cliente
中创建另一个仅提及cuenta
列的索引,或者您必须更改FK以便它引用PK中的所有列。