我有两个表品牌和供应商.
该品牌表如下(brand_id为VARCHAR):
brand_id brand_name
--------- --------------
01 KFC
02 MCD
03 Cream stone
Run Code Online (Sandbox Code Playgroud)
我创建了另一个表brand供应商,它将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));
Run Code Online (Sandbox Code Playgroud)
现在我的要求是我想在供应商表中存储逗号分隔的brand_id :
vendor_id name brand_id
--------- -------------- ---------------
1 Hi Bakers 01, 02
2 Test Confectioners 02
3 Cream Parlour 01, 02, 03
Run Code Online (Sandbox Code Playgroud)
我在插入时遇到错误#1452.如何使逗号分隔值?
这不适用于在列中存储多个外键.即使它不是钥匙,你也绝对不应该这样做.从不,永远,永远不会在一列中存储多个值!这只会让您对未来的选择感到头痛,而且性能确实很慢.
更好的方法是使用另一个新表
vendor_brands
-------------
vendor_id
brand_id
Run Code Online (Sandbox Code Playgroud)