精华内容
下载资源
问答
  • 要想修改数据库的某一列的数据类型,该字段不能有数据,否则无法修改;plsql中会出现如下错误 倘若有数据,不能直接在该列上修改字段类型;但还是有方法实现同样的目的--------转移数据到新的一列 1.创建一个...

    要想修改数据库的某一列的数据类型,该字段不能有数据,否则无法修改;plsql中会出现如下错误

    倘若有数据,不能直接在该列上修改字段类型;但还是有方法实现同样的目的--------转移数据到新的一列

    1.创建一个临时列

    alter table 表名 add 修改的字段名 字段类型;


    2.拷贝数据到临时列
    update 表名 t set t.修改的字段名 = t.原字段名;


    3.删除原来的列
    alter table 表名 drop column 原字段名;


    4.修改临时列名称
    alter table 表名 rename column 修改的字段名 to 原字段名;

    转载于:https://www.cnblogs.com/yangwang-/p/9901181.html

    展开全文
  • oracle修改数据库列的数据类型

    千次阅读 2017-10-02 22:02:36
    有一个表名为tb,字段段名为name,数据类型nchar(20)。1、假设字段数据为空,则不管改为什么字段类型,可以直接执行: alter table tb modify (name nvarchar2(20));2、假设字段有数据,则改为nvarchar2(20)可以直接...
    有一个表名为tb,字段段名为name,数据类型nchar(20)。

    1、假设字段数据为空,则不管改为什么字段类型,可以直接执行:
    alter table tb modify (name nvarchar2(20));

    2、假设字段有数据,则改为nvarchar2(20)可以直接执行:
    alter table tb modify (name nvarchar2(20));

    3、假设字段有数据,则改为varchar2(40)执行时会弹出:“ORA-01439:要更改数据类型,则要修改的列必须为空”,这时要用下面方法来解决这个问题

    /*修改原字段名name为name_tmp*/
    alter table tb rename column name to name_tmp;

    /*增加一个和原字段名同名的字段name*/
    alter table tb add name varchar2(40);

    /*将原字段name_tmp数据更新到增加的字段name*/
    update tb set name=trim(name_tmp);

    /*更新完,删除原字段name_tmp*/
    alter table tb drop column name_tmp;

    总结:
    1、当字段没有数据或者要修改的新类型和原类型兼容时,可以直接modify修改。
    2、当字段有数据并用要修改的新类型和原类型不兼容时,要间接新建字段来转移。
    展开全文
  • 我们产品从SPC100升级到SPC200的时候,由于数据库列的数据类型发生了改变,需要写SQL脚本,完成数据库的升级。需要将表T_MOBILE_INDVCONFIG的主键列id从varchar2(100),改成number(17)。可以参考如下SQL: --将...

    我们产品从SPC100升级到SPC200的时候,由于数据库表列的数据类型发生了改变,需要写SQL脚本,完成数据库的升级。需要将表T_MOBILE_INDVCONFIG的主键列id从varchar2(100),改成number(17)。可以参考如下SQL:

    --将原来的ID列重命名为bak_id
    ALTER TABLE T_MOBILE_INDVCONFIG RENAME COLUMN id TO bak_ID;
    
    --添加一个与原来的列一样名字的列
    ALTER TABLE T_MOBILE_INDVCONFIG ADD id NUMBER(17); 
    
    --将bak_id中的数据转换类型并保存到新加的ID列
    UPDATE T_MOBILE_INDVCONFIG SET ID = CAST(bak_ID AS NUMBER(17));
    
    --删除原有的列
    ALTER TABLE T_MOBILE_INDVCONFIG DROP COLUMN bak_ID;
    
    --设置新列属性,这里例子是设置为非空
    ALTER TABLE T_MOBILE_INDVCONFIG MODIFY  (ID NUMBER(17) NOT NULL);
    
    --重建主键,因为原来的已经被删除,原来的ID列有索引的也需要重建
    ALTER TABLE T_MOBILE_INDVCONFIG  ADD CONSTRAINT PK_SYS_SMSGATE PRIMARY KEY (ID);

    展开全文
  • 表里有数据存在直接修改列类型肯定失败 1. 直接修改 ,错误如下; 提示表不为空不能修改。其实我们想一想也知道,原有数据改动类型,可能会出问题。能把汉字转为number吗? 2. 那么我们可以这么操作(假设要把列类型...

    修改oracle数据库表的列字段类型

    表里有数据存在直接修改列类型肯定失败

    1. 直接修改 ,错误如下;

    在这里插入图片描述
    提示表不为空不能修改。其实我们想一想也知道,原有数据改动类型,可能会出问题。能把汉字转为number吗?

    2. 那么我们可以这么操作(假设要把列类型varchar2 改为number);

    要确保数据类型变更不会导致数据出错。

    步骤一:将需要修改的列重命名。

    alter table tablename rename column field to fieldnew;

    步骤二:新增一列,列名为需要修改的列名。

    alter table tablename add field number(20);

    步骤三:将改名的列数据存到新加的列。

    update tablename set field =trim(fieldnew);

    步骤四:将改名的那一列删除掉。

    alter table tablename drop column fieldnew;

    ok,这么做就变相的 修改了列的类型。

    展开全文
  • 在已存在的表中添加列 输入 alter table reader add email varchar(30); 显示 指定插入的列的位置: ...alter table reader add email2 varchar(30) after tel;... 修改列的数据类型 输入 alter t...
  • alter table 表名 modify 字段名...若有数据 ,数据库会报错错误报告 -ORA-01439: 要更改数据类型, 则要修改的列必须为空01439. 00000 - "column to be modified must be empty to change datatype"...
  • 遇到项目,原来是数据类型不能满足当前需求,要保留旧数据的前提下修改(或扩大)某一列的数据类型 在oracle数据库中,有数据的列是不能被修改的,思路是这样的 (1)在原数据表中增加新列,新列的列名只要不同的...
  • #将需要清空表插入到临时表 INSERT INTO tmpTable(tablename ,columnsname, flag ) (SELECT a.TABLE_NAME,a.COLUMN_NAME,0 as flag FROM information_schema.COLUMNS as a left JOIN information_schema....
  • number[p,s]:P是精度,数值总范围,s是刻度范围。例如number[5,2]取值范围-999.99-999.99; char[n]:存储定长字符串,最大2000字节。如果未到最大字节,则用空格填充。查询方式;整体查询。如:电话号,身份证...
  • 修改列的数据类型和修改添加各种约束 修改列的数据类型   对于 Oracle 数据库 SQL> ALTER TABLE test_tab  2 MODIFY age SMALLINT; Table altered.   对于 SQL Server 数据库 1> ALTER ...
  • 我们产品从SPC100升级到SPC200的时候,由于数据库列的数据类型发生了改变,需要写SQL脚本,完成数据库的升级。需要将表T_MOBILE_INDVCONFIG的主键列id从varchar2(100),改成number(17)。可以参考如下SQL:--将原来...
  • --创建数据库表 create table st_db ( id int not null, Kname varchar(5) not null ...--修改数据库名称 exec sp_rename 'st_db','stnew_db' --删除数据库表中 alter table stnew_db
  • 2.自增列的值不允许修改和更新 有一些特殊情况我们可能需要向自增列插入数据,这个时候我们需要使用SET IDENTITY_INSERT。在使用这个命令时也有一些注意事项 1.IDENTITY_INSERT属性的默认值为OFF。SET IDENTITY_I
  • alter table tableName modify (columnName 数据类型); 示例: alter table tableName modify (id varchar2(100)); 修改的时候会提示列不为空不让修改,解决方法: 1,新建一列 2,把某一列的旧值完全复制给新.....
  • SQL语句增加列、修改列、删除列以及...2.2. 修改列的名称: EXEC sp_rename ‘tableName.column1’ , ‘column2’ (把表名为tableName的column1列名修改为column2) 3.删除列: alter table tableName drop column co
  • 修改Oracle 有数据列的数据类型 方法一: // 创建一样的临时表 create table T_BUSINESS_MODEL_TEMP as select * from T_BUSINESS_MODEL where 1=2 ;  // 对临时表改数据类型 alter table T_BUSINESS_...
  • 1、修改列类型,比如列为nvarch类型,修改其长度为100: ALTER TABLE tb ALTER COLUMN col nvarchar(100) 2、增加一列: ALTER TABLE tb ADD col2 nvarchar(100) null 表中存在数据时,新增加列必须为null或者...
  • 操作数据库中表的数据 注意:mysql关键字不分区大小写! 2.1、操作数据库 1、创建数据库 CREATE DATABASE IF NOT EXISTS westos; 2、删除数据库 DROP DATABASE IF EXISTS westos; 3、使用数据库 -- tab 键的上面,...
  • oracle增加一修改列数据类型

    千次阅读 2015-05-12 10:16:11
    添加一列: alter table A add( CFYJSNR varchar2(20) default 0 not null ); 修改列: alter table A rename column CFYJSNR to ...修改列的类型: alter table A modify cfyj varchar(200); 删除数据库一列
  • mysql数据库的数据类型详解

    千次阅读 2020-05-22 17:27:00
    当使用CREATE TABLE语句创建一个表时,表中的每一必须声明为MySQL所支持的数据类型。使用ALTER TABLE语 句可以添加或修改表中的某一。把数据类型划分为如下三个基本类型:数值类型、 日期和时间类型以及字符串...
  • 我的需求是:已经在文件地理数据库中存放了一个ITable类型的表(不是要素类FeatureClass),注意不是要素类FeatureClass的属性表,而是单独的一个ITable类型的表格,现在要读取其中的某一列,并统一修改这一列的值。...
  • 二、修改列类型(modify col_name) 三、修改列名称(change col_name) 三、修改表名称(rename table a to b) 用到语句 a、修改列定义和名称: 语法一:Alter table tbl_name modify[column] col_name ...
  • MySQL数据库的数据类型及基本命令MySQL数据库数据类型一、查看数据库结构1.1 查看当前服务器中的数据库1.2 查看数据库中包含的表1.3 查看表的结构(字段)二、SQL语句2.1 创建新的数据库2.2 创建新的表2.3 删除指定...
  • Mysql数据库中使用alter对表中字段,数据类型进行修改 MySQL数据库中我们经常对表中字段和字段属性进行修改。 我们在进行修改表时用到命令语句如下: alter table 表名 [add/rename/drop/modify/change]... ...
  • 元数据是关于数据的数据,如数据库名或表名,列的数据类型,或访问权限等。有些时候用于表述该信息的其他术语包括“数据词典”和“系统目录”。 具体可已参考在线mysq api文档 : ...
  • MySQL数据库MySQL数据类型SQL 语法约束:主键约束 PRIMARY KEY唯一约束 UNIQUE KEY默认约束 DEFAULT外键约束数据表的修改添加添加约束删除约束修改 & 表数据库的增删改查插入记录更新记录删除记录查找...
  • 数据库-数据类型

    2018-04-22 20:32:04
    了解一下数据库的几个概念 数据库(database) 数据表(table) 字段(column) 字段类型 column ...数据类型 数值类型 浮点类型 字符串类型 时间类型 转载于:https://blog.51cto.com/134804...
  • 在协助用户做数据迁移时,用户提出按照标准模板要求修改表的多媒体类型列的字段类型,在使用alter table modify column语句修改时报错"数据类型的变更无效",在备份了表数据并truncate table清除表数据后,修改...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,992
精华内容 796
关键字:

数据库修改列的数据类型