当前位置: 首页 > article >正文

修改PostgreSQL表中的字段排列顺序

二、通过修改系统表(pg_attribute)达到字段重新排序的目的
有关系统表的概述及用途可以查看官网:http://www.pgsqldb.org/pgsqldoc-cvs/catalogs.html

表名字表用途
pg_class表,索引,序列,视图(”关系”)
pg_attribute表的列(”属性”,”字段”)

通过pg_class查找[表,索引,视图等的名字],[表在磁盘上的文件的名字]
    SELECT relname, relfilenode FROM pg_class WHERE relname=’order_change_table’;
    查询结果为:order_change_table | 12666
通过pg_attribute查找[此列/字段所属的表],[字段名字],[字段数目]
    SELECT attrelid, attname, attnum FROM pg_attribute WHERE attrelid=12666;
    查询结果为:12666 | id | 1      12666 | name | 2      12666 | password | 3      12666 | new_field | 4
更新pg_attribute的[attnum]字段(将要移动的字段先更新成数据库里面没有的值,再按顺序更新)。
    UPDATE pg_attribute SET attnum=7 WHERE attname=’new_field’  AND attrelid=12666;
    UPDATE pg_attribute SET attnum=6 WHERE attname=’name’       AND attrelid=12666;    
    UPDATE pg_attribute SET attnum=5 WHERE attname=’password’  AND attrelid=12666;
    UPDATE pg_attribute SET attnum=2 WHERE attname=’new_field’  AND attrelid=12666;
    UPDATE pg_attribute SET attnum=3 WHERE attname=’name’        AND attrelid=12666;
    UPDATE pg_attribute SET attnum=4 WHERE attname=’password’  AND attrelid=12666;
再检索表,字段就已经改好顺序了。(缺点:一旦改错表就崩溃,事先一定要备份好。优点:直达根处)
SELECT * FROM order_change_table;


http://www.kler.cn/a/349592.html

相关文章:

  • AJAX案例——图片上传个人信息操作
  • 【算法】动态规划专题① ——线性DP python
  • http和https的区别?
  • 【懒删除堆】力扣2349. 设计数字容器系统
  • 【Block总结】DynamicFilter,动态滤波器降低计算复杂度,替换传统的MHSA|即插即用
  • 【新春特辑】2025年1月科技浪潮中的AI最新时事与科技趋势
  • 99. UE5 GAS RPG 被动技能实现
  • Qml-Item的函数使用
  • 如何有效进行主机加固?深信达MCK提供答案
  • SpringBoot实现电子文件签字+合同系统!
  • “八股文”面试:助力、阻力还是空谈?
  • 算法笔记day04
  • 5.资源《Arduino UNO R3 proteus 使用CD4511驱动数码管工程文件(含驱动代码)》说明。
  • 金字塔流(Pyramid Flow): 用于生成人工智能长视频的新文本-视频开源模型
  • Leetcode 第 141 场双周赛题解
  • Linux命令介绍:如何使用stat深入解析文件和文件系统状态
  • 江苏盐城中级职称申报条件及流程详解
  • ②PROFINET 转 EtherNet/IP, EtherCAT/Ethernet/IP/Profinet/ModbusTCP协议互转工业串口网关
  • python爬虫--某动漫信息采集
  • 2024软件测试面试题大全【含答案】
  • Vue3 响应式数据
  • vue-jsonp的使用和腾讯地图当前经纬度和位置详情的获取
  • 【Vue】扫盲(五)Vue 的生命周期与钩子函数详解
  • Java基础:面向对象编程3
  • LLM-生成器判别器的实现
  • Vue中计算属性computed—(详解计算属性vs方法Methods,包括案例+代码)