【问题标题】:How to save Array in database - Rails如何在数据库中保存数组 - Rails
【发布时间】:2016-08-09 18:18:50
【问题描述】:

我想将数组[3,9,21] 存储在数据库(mySQL)中。除了保存数组的值,我想将整个数组保存在数据库中。有可能吗?

【问题讨论】:

  • 不是直接因为mysql没有数组。您必须保存它的字符串表示形式。此外,规范化表并将每个值存储为单独的行几乎总是更好。
  • 看看serialize方法。

标签: mysql ruby ruby-on-rails-4


【解决方案1】:

如果您使用的是 MySQL 5.7+,则可以;它引入了一个 JSON 数据类型https://dev.mysql.com/doc/refman/5.7/en/json.html

快速了解更改:http://lornajane.net/posts/2016/mysql-5-7-json-features

PS——我很喜欢上面的评论——将值存储为单独的行而不是数组是一个更好的选择

【讨论】:

  • 如果您需要在JOINWHERE 子句中引用这些值,是的,您绝对需要将它们分解成适当的关系结构。情况并非总是如此,有时序列化为 JSON 实际上更方便。
  • 您应该将每个项目存储为一行。让您的数据井井有条会更加整洁。
猜你喜欢
  • 1970-01-01
  • 2016-07-02
  • 2014-04-28
  • 1970-01-01
  • 1970-01-01
  • 2015-11-29
  • 1970-01-01
  • 2020-10-02
  • 1970-01-01
相关资源
最近更新 更多