gpt4 book ai didi

mysql - 无法将外键约束添加到多列 pk

转载 作者:行者123 更新时间:2023-11-29 03:23:24 25 4
gpt4 key购买 nike

我只是有一个关于 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com