gpt4 book ai didi

mysql - 在 mysql 的表中存储逗号分隔的外键值(出现 1452 错误)

转载 作者:行者123 更新时间:2023-11-29 04:07:52 25 4
gpt4 key购买 nike

我有两个表 brand 和 vendors。

品牌表如下(brand_id为VARCHAR):

brand_id      brand_name
--------- --------------
01 KFC
02 MCD
03 Cream stone

我创建了另一个表 vendor,它有 brand_id 作为外键,声明如下:

CREATE TABLE vendor(vendor_id VARCHAR(20), 
name VARCHAR(50),
brand_id VARCHAR(10),
PRIMARY KEY (vendor_id),
FOREIGN KEY(brand_id) REFERENCES vendor_brand(brand_id));

现在我的要求是我想在 vendor 表 中将逗号分隔的 brand_id 存储为:

vendor_id         name                  brand_id
--------- -------------- ---------------
1 Hi Bakers 01, 02
2 Test Confectioners 02
3 Cream Parlour 01, 02, 03

我在插入时收到错误#1452。如何制作逗号分隔值?

最佳答案

在一个列中存储多个外键是行不通的。你绝对不应该这样做,即使它不是 key 。永远,永远,永远不要在一列中存储多个值!这只会让您对 future 的选择感到头疼,而且在性能方面确实很慢。

更好的方法是创建另一个名为

的新表
vendor_brands
-------------
vendor_id
brand_id

关于mysql - 在 mysql 的表中存储逗号分隔的外键值(出现 1452 错误),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24429131/

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