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

我想在mysql工作台表的同一列的同一字段中有两个不同的值?,mysql,sql,mysql-workbench,workbench,Mysql,Sql,Mysql Workbench,Workbench,基本上,我需要创建一个表,其中一列需要在同一字段中有两个产品。 我已经创建了表的其余部分,但是当涉及到将多个产品输入到同一列时,我不允许这样做。我试着用许多不同的方式编写代码,但似乎无法解决如何使其在可能的情况下工作,例如“product1和product2”“product1,product2”等。。 有人知道如何解决这个问题吗?非常感谢,因为我是workbench新手。如果需要,您可以在MySQL中以逗号分隔的方式(a,B)或JSONArray([a,B])存储多个值。但是MySQL将不能使

基本上,我需要创建一个表,其中一列需要在同一字段中有两个产品。 我已经创建了表的其余部分,但是当涉及到将多个产品输入到同一列时,我不允许这样做。我试着用许多不同的方式编写代码,但似乎无法解决如何使其在可能的情况下工作,例如“product1和product2”“product1,product2”等。。
有人知道如何解决这个问题吗?非常感谢,因为我是workbench新手。

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

您正在寻找的是人们使用PostgreSQL的原因之一。它支持可以在单元格中填充的数据类型数组。i、 e.除了整数外,它还具有整数[]数据类型和文本[]。它还支持与阵列相关的操作,您可以很好地处理它们

需要记住的一点是,规范化的数据库结构不需要这样做。您可以使用简单的SQL将问题分解如下:
表:

1->水果->苹果、芒果
2->颜色->红、绿、蓝

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

表2:
1->苹果
1->芒果
2->红色
2->绿色

2->Blue

如果您发现您的数据需要“一行具有不同数量的多个值”,那么(100次中的99次)答案是另一个表,以参考原始表的“父”行保存这些值

  • 答案是不复制该行,除非通过该字段对其进行更改
  • 答案几乎是永远不要将值连接在一起,并将它们塞进一个字段中
  • 答案是有时(尽管很少)有多个字段;将“空”设置为空。但通常只有当多个值具有略微不同的含义或目的,或者它们的顺序很重要时,才会出现这种情况

一个数据库字段只能有一个值(每个记录);该值可以是一个值列表,连接成一个字符串值,但这几乎总是错误的方法,不能将元组放入这样的列中。连接对你的用例有用吗?是的,我不想把它集中到一个值中,因为这对用户来说没有意义。它基本上是一个整数的ID,但因为一行有两个不同的ID,我想把这两个在他们各自的顺序。无论如何,我可以这样做?如果我把它们分成两行,那么这意味着它们是两个单独的订单,而它们不是。你能为两个订单id相同的产品设置两行吗?这样,您就可以检索放置在一个特定订单id下的所有产品。这个答案有什么不好?