【发布时间】:2021-06-27 05:15:36
【问题描述】:
我正在迁移一个应用程序。它具有 postgres 数据库版本 9.4.19。有一张表可以说 StudentData。早些时候,它有 4 列,即 Id、Name、Class、City。现在我创建了一列,即“信息”,它以 json 格式存储名称、类别和城市,如下所示
{
"STUDENT_NAME":["Tom","Sam","Mark"],
"STUDENT_CLASS":[3,6,2],
"STUDENT_CITY":["Newyork","London","London"]
}
现在我将以这种 json 格式存储任何新的传入数据,但在部署这个新结构之前,我想将现有列(上面提到的)数据迁移到 json 结构中的新列。我需要某种脚本或 sql 函数。我在 sql 脚本方面非常薄弱。
怎么做?请帮帮我。
编辑:感谢大家提供宝贵的 cmets,但我自己解决了这个问题,没有使用任何 json 函数。我通过 writen one cte 手动完成,然后通过手动放置 json 结构来更新列。
【问题讨论】:
-
那么,您想用一个 JSON 对象替换整个表结构吗?为什么要这样做?这只有缺点:创建、删除、替换操作非常困难,搜索也是如此,索引是不可能的,......如果你需要这种格式的数据,考虑一个视图或其他东西,但保持你的表规范化。
-
@a_horse_with_no_name 对不起,我的错。现在是 9.4.19
-
@S-Man 我已经实现了它。我只需要迁移数据。
标签: sql json postgresql postgresql-9.4