gpt4 book ai didi

mysql - 我不断收到“外键引用无效列?

转载 作者:行者123 更新时间:2023-11-29 15:28:41 24 4
gpt4 key购买 nike

我引用表的主键,它也是外键。我得到的确切错误是这样的:“外键“customer_username”在引用表“CustomerAddstoCartProduct”中引用了无效列“customer_username”。”

create table Customers(
username varchar(20) PRIMARY KEY,
points int
FOREIGN KEY(username) REFERENCES Users ON DELETE CASCADE ON UPDATE CASCADE

)
create table CustomerAddstoCartProduct (
serial_no int,
customer_name varchar (20)
PRIMARY KEY(serial_no, customer_name)
FOREIGN KEY(serial_no) REFERENCES Products ON DELETE CASCADE ON UPDATE CASCADE,
FOREIGN KEY(customer_username) REFERENCES Customers ON DELETE CASCADE ON UPDATE CASCADE
)

最佳答案

您的所有外键声明都格式错误,它们缺少目标表中引用的列。

例如,在表 CustomerAddstoCartProduct 中,您应该具有:

FOREIGN KEY(customer_username) REFERENCES Customers(username) 
ON DELETE CASCADE ON UPDATE CASCADE

而不是:

FOREIGN KEY(customer_username) REFERENCES Customers 
ON DELETE CASCADE ON UPDATE CASCADE
<小时/>

另一件尴尬的事情是,在表 Customers 中,您的主键列具有外键约束。虽然这可能有效,但这可能表明存在设计问题。如果 CustomersUsers 之间存在 1:1 关系,您可能应该将所有列存储在同一个表中。

关于mysql - 我不断收到“外键引用无效列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58893010/

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