【问题标题】:Cannot add foreign key constraint to multi column pk无法将外键约束添加到多列 pk
【发布时间】:2016-10-25 00:08:00
【问题描述】:

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

【问题讨论】:

    标签: mysql foreign-keys


    【解决方案1】:

    Cuenta 表中的 FK 仅引用 Cliente 表中的多列 PK 的一列。您要么必须在 Cliente 中创建另一个索引,仅提及 cuenta 列,要么必须更改 FK,使其引用 PK 中的所有列。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-09-26
      • 2020-09-12
      • 2017-07-16
      • 2013-03-10
      • 2021-11-05
      • 2018-02-13
      相关资源
      最近更新 更多