gpt4 book ai didi

mysql - "Cannot add foregin key constraint"

转载 作者:行者123 更新时间:2023-11-29 10:15:33 25 4
gpt4 key购买 nike

DROP TABLE IF EXISTS CARD_ACCOUNT;
Create Table CARD_ACCOUNT(
acct_no Char(16),
exp_date date,
card_type ENUM('Debit','Credit') NOT NULL,
cust_ID integer NOT NULL
);

DROP TABLE IF EXISTS DEBIT_CARD;
Create Table DEBIT_CARD(
acct_no Char(16),
exp_date date,
bank_no CHAR(9) NOT NULL,
Constraint debit_card_pk primary key(acct_no,exp_date),
Constraint debit_card_fk foreign key(acct_no,exp_date) References card_account(Acct_no,exp_date)
ON UPDATE CASCADE
ON DELETE CASCADE
);

当我尝试运行此语句时,我在 Debit_Card 表上的 Mysql 中收到“无法添加外来键约束”错误,为什么我会收到此错误我正在学习的脚本的所有内容都以与我完全相同的方式编写.

最佳答案

如果您想在外键中引用card_account(Acct_no,exp_date),则它必须是主键。

为什么不将其放入一张表中?

Create Table CARD_ACCOUNT(
acct_no Char(16),
exp_date date,
bank_no CHAR(9) NOT NULL,
card_type ENUM('Debit','Credit') NOT NULL,
cust_ID integer NOT NULL,
Constraint CARD_ACCOUNT_PK primary key(acct_no,exp_date)
);

我认为它有同样的目的。你已经有了card_type来知道它是借记卡还是信用卡,那么为什么要为此单独制作一个表呢?

关于mysql - "Cannot add foregin key constraint",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50170786/

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