zoukankan      html  css  js  c++  java
  • Postsql 修改字段长度和类型

    以后更改字段长度会重写表,如果表比较大,那么表会加锁,需要很长时间

    通过一种方法通过修改pg_attribute.atttypmod字段修改长度,不需要重写表
     查询select * from pg_attribute where attrelid='sp_sa_salestat'::regclass and attname='goodsname'
    将字段opcode修改为100长度单位 
    update pg_attribute set atttypmod=206 where attrelid='sp_sa_salestat'::regclass and attname='goodsname'; 

    对于numric型长度是按整数转换的必须先查找要修改的长度在数据库里面的值,如numeric(12,4)长度是786440

    修改字段类型 

    (如果表里有数据,谨慎使用!!!
    如果表里有数据,谨慎使用!!!
    如果表里有数据,谨慎使用!!!)

    当列的类型为字符类型,当我们想修改为数值类型时
    ALTER TABLE the_table ALTER COLUMN col_name TYPE integer USING (col_name::integer);

      如果字段里有空白字符,使用以下方法:

    ALTER TABLE the_table ALTER COLUMN col_name TYPE integer USING (trim(col_name)::integer);
    

    在类型转换前先去空白。

    修改类型为字符类型

    ALTER TABLE the_table ALTER COLUMN col_name TYPE character varying(30) USING (col_name::character varying(30));
  • 相关阅读:
    Golang基础笔记
    PHP面试题
    PHP操作文件常用函数
    转:C#委托与事件
    转:Tkinter教程之Text(2)篇
    Tkinter教程之Text篇(1)
    转:Python 从FTP 下载数据的例子
    转:Python模块学习 ---- httplib HTTP协议客户端实现
    转:Python yield 使用浅析
    有用的网址地址
  • 原文地址:https://www.cnblogs.com/maoyvwang/p/11690158.html
Copyright © 2011-2022 走看看