我想在mysql工作台表的同一列的同一个字段中有2个不同的值?

时间:2017-07-11 23:14:31

标签: mysql sql mysql-workbench workbench

基本上我需要创建一个表,其中一列需要在同一个字段中有2个产品。 我已经创建了表的其余部分,但是当涉及将多个产品输入到同一列时,它不会让我。我尝试用许多不同的方式对它进行编码,但似乎无法解决如何使其工作的可能性,例如“product1 and product2”“product1,product2”等。 谁知道如何解决这个问题?非常感谢,因为我不熟悉工作台。

2 个答案:

答案 0 :(得分:2)

如果您发现您的数据需要为一行提供不同数量的多个值",那么(100次中有99次)答案是另一个表来保存这些值并参考& #34;父"原始表格的一行。

  • 答案不是复制行,除非用一个字段改变它。
  • 答案几乎从不将这些值连接在一起,并将它们塞进一个字段中。
  • 答案有时(虽然很少)有多个字段;用"空"那些设置为NULL。 但通常只有当多个值具有略微不同的含义或目的时,或者它们的顺序才重要。

答案 1 :(得分:-1)

如果需要,您可以在逗号分隔的方式(A,B)或作为JSONArray([A,B])存储多个值。但是你将无法使用它们执行任何操作,因为MySQL会将该集视为单个实体。

您正在寻找的是人们使用PostgreSQL的原因之一。它支持可以在单元格中填充的数据类型数组。即,与Integer一起,它同样具有Integer []数据类型和text []。它还支持与数组相关的操作,你可以很好地处理它们。

要记住的一件事是规范化的数据库结构不需要这样。您可以通过简单的SQL解决问题,解决方法如下:
表:

1→Fruits->苹果,芒果
2→颜色 - >红,绿,蓝

可以存储为
表1:
1→水果
2→颜色

表2:
1→苹果
1→芒果
2→红
2→绿色
2→蓝