【发布时间】:2016-10-10 06:49:41
【问题描述】:
总的来说,我对 PostgreSQL 或 SQL 很陌生,所以我不知道我的问题是否简单而愚蠢——提前抱歉。
我的情况如下:
- 我有一个包含 57 列和 219 个条目的表
- 我每年都需要这张桌子
- 应将某些列的数据转移到重复表中(例如前四列)
- 应清空其他列
- 该表有一个触发器,该触发器也应该转移到新表中
- 表名如“xxx_2017”,新表名应为“xxx_2018”
注意:整个过程最后会绑定到一个php-website上的一个按钮
我认为第一步应该是带有一些特殊调整的 SELECT (CREATE TABLE xx AS SELECT … FROM yy) 的纯 SQL,但是重命名似乎更复杂,因为我需要将“旧”表名称的最后四位数字保存到一个变量为 INT 或类似变量,需要先将其计数,然后才能将变量赋予我的“新”表的名称。
我知道我是在没有太多基础工作的情况下提出问题,而且我不希望有一个完整且有效的解决方案——当然,如果你愿意,你也可以随意发布一个。但我需要的是一些建议以帮助完成这项工作。
谢谢!
编辑 1
我所知道的是,我可以使用所有数据(SELECT *)复制表,然后像UPDATE table_name SET column1 = NULL, column2 = NULL, column3 = NULL 一样删除数据。但是我需要更新 53 列,因为我只需要 4 列的数据。
【问题讨论】:
标签: php sql database postgresql