【问题标题】:How do we store text in a list like format in MySQL table cell?我们如何在 MySQL 表格单元格中以列表格式存储文本?
【发布时间】:2015-05-15 14:56:05
【问题描述】:

我有一张桌子,可以存储客户会购买的商品。表格格式如下:

列: id fullName cell items

items 列的数据类型为 LONGTEXT。我想将项目作为字符串存储在那里。一般情况下,字符串在同一单元格中会以Text line 1,Text line 2,Text line 3,Text line 4的形式表示,在JTable中显示时的显示方式相同。

我的问题:有没有办法在同一个单元格中存储如下所示的字符串?

Text line 1
Text line 2
Text line 3
Text line 4

或者是否可以在 JTable 单元格中以该布局显示它们?

【问题讨论】:

  • 字符串只是一组字符,因此您不能将数据存储在单独的行中的字符串中,也就是说您可以在字符串中存储换行符和回车符,以便在显示时, 字符串出现在不同的行
  • 一个更好的选择可能是将您的值存储为一个字符串数组,将每一行作为一个单独的元素并循环遍历将每个元素写入新行的元素
  • 更多herehere
  • @mgrenier 我认为数组不起作用,因为即使程序退出/未运行我也需要数据;这就是我选择数据库的原因。我想使用这些数据来创建一些报告。我想在第一条评论中尝试你的想法。我必须在每个字符串/文本行的末尾附加\n,对吗?
  • @trashgod 让我处理你给我的链接;我会尽快回来通知我的进度。

标签: java mysql types jtable


【解决方案1】:

我认为这确实不是您在数据库中设计表的方式。由于您使用的是关系数据库,因此我建议您像这样设计您的表:

对于您的第一个表,有列 id fullName cell

然后,创建另一个名为 items 的表,其中包含 id table_1_id item 列。

当您将客户信息插入到第一个表中时,您还需要取回唯一 ID,以便您可以使用它将相关数据插入到items 表中。 Here's a link to show how that is done.

然后,您将项目列表放入 items 表中,每个项目占据自己的行。当您想稍后查看项目时,您可以从您的第一个表中选择,然后加入您的 items 表:

SELECT id, fullName, cell, item
FROM table1
JOIN items
ON table1.id = items.table_1_id

【讨论】:

  • 我必须存储的数据是动态创建的,我不确定如何处理与某些键链接的两个表。我上面的想法是记录由id 标识,即auto-increment
  • 我不太确定你在问什么。在我上面的示例中,两个“Id”列都应该自动递增。当您说您不确定如何处理链接的表时,您是什么意思?
  • 好吧,让我试着解释一下自己。我有一个生成产品报价的系统。现在,我想要一种机制来存储报价信息,以便销售人员可以打电话给客户确认客户是否会回来 - 以后为什么?(产品太贵?...等)。必要的信息是customer name, customer cell and names of products that the customer was quoted。此信息来自 JTable-我想将一个报价单的所有产品名称/描述存储在一个表格单元格中,以便当销售代表致电客户时-....继续下面
  • 他/她会看到客户报价的产品。所以我的程序是这样工作的:当销售代表发送要打印的报价时,它会捕获该报价的信息并将其存储在数据库中。当我说我不确定如何处理按照您建议的方式链接的表时,我的意思是:在您的第二个表中,table_1_id 在向该表中插入记录时是必需的。用户不必知道程序正在以这种方式工作或保存某些内容。我想要的只是捕获我所说的信息,以便在致电客户时进行参考。
  • 我已经更新了我的答案,以展示如何为您处理这种情况。
猜你喜欢
  • 2011-09-28
  • 2019-11-26
  • 1970-01-01
  • 2022-01-10
  • 1970-01-01
  • 2018-01-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多