精华内容
下载资源
问答
  • 错误原因:因在Oracle... 如果用的是非MybatisPlus,则需要修改数据库中的字段位置,即将clob或blob字段放在最后边: 2.1、MySQL修改字段位置:(将‘’字段1‘’字段移到‘’字段2’字段后面) ALTER TABLE 表..
    • 错误原因:因在Oracle数据库中存在CLOB和BLOB字段,所以在对数据库做插入或更新操作时如果CLOB和BLOB字段后有NUMBER等其他类型的字段时就会报这个错误。

    • 解决方法:

    1. 如果使用的是MybatisPlus,则将实体类中的clob或blob字段放在最后边即可。
    2. 如果用的是非MybatisPlus,则需要修改数据库中的字段位置,即将clob或blob字段放在最后边:

    2.1、MySQL修改字段位置:(将‘’字段1‘’字段移到‘’字段2’字段后面)

    ALTER TABLE 表名 MODIFY 字段1  字段1数据类型  AFTER 字段2;

           2.2、Oracle修改字段位置:

                (1)、用sys或system权限登录数据库

                (2)、在oracle中每张表在系统中都对应一个id,首先要查询出需要修改表的id(注意:TEST01是用户名,SYS_LOG是表名,参数一定要大写

    select object_id  from all_objects where owner = 'TEST01' and object_name = 'SYS_LOG';

                (3)、通过object_id查询出表的信息

    select obj#, col#, name from sys.col$  where obj# = '91919' order by col#;

                (4)、修改字段在表中的顺序,即col#的值(调换两个字段的位置)

    update sys.col$ set col#=2 where obj#=91919 and name='DOIP';
    update sys.col$ set col#=6 where obj#=91919 and name='DONAME';

                 (5)、重启数据库服务(即:OracleServiceORCL)

    展开全文
  • 都说写程序与数据库表字段顺序没有关系,可是做过实际的项目之后才知道,对于操作数据库的人来说,数据库表的字段顺序可能是很繁琐的,比如需要往表中增加字段,但不希望把字段放到表的最后。通过用过Oracle的人都...

    都说写程序与数据库表字段的顺序没有关系,可是做过实际的项目之后才知道,对于操作数据库的人来说,数据库表的字段顺序可能是很繁琐的,比如需要往表中增加字段,但不希望把字段放到表的最后。通过用过Oracle的人都知道,要想在ORACLE中更改表的列名和顺序可是一件很烦琐的事,下面给大家提供一种简单的方法。

    用SYSTEM登录sqlplus进行操作,因为这需要dba

    第一步,从数据字典视图查询出表的id

    SQL> select object_id from all_objects where owner='SCOTT' and object_name='T1';

    OBJECT_ID

    ----------

    6067

    第二步,通过id查出该表中所有字段的顺序

    SQL> select obj#,col#,name from sys.col$ where obj#=6067;

    OBJ#  COL#  NAME

    --------------------

    6067   1    ID

    6067   2    NAME

    第三步,更新字段的顺序

    SQL> update sys.col$ set name='NEW_ID' ,col#=3 where obj#=6067 and name='ID';

    1 row updated.

    SQL> update sys.col$ set name='MY_NAME',col#=1 where obj#=6067 and name='NAME';

    1 row updated.

    SQL> update sys.col$ set col#=2 where obj#=6067 and col#=3;

    1 row updated.

    SQL> commit;

    完成.

    SQL> select * from scott.t1;

    ID NAME

    ---------- --------------------

    3 cheng

    2 yong

    1 xin

    2 gototop

    1 topcio

    2 yongxin

    1 cyx

    7 rows selected.

    SQL> shutdown immediate

    Database closed.

    Database dismounted.

    ORACLE instance shut down.

    SQL> startup

    ORACLE instance started.

    Total System Global Area 128159368 bytes

    Fixed Size 732808 bytes

    Variable Size 117440512 bytes

    Database Buffers 8388608 bytes

    Redo Buffers 1597440 bytes

    Database mounted.

    Database opened.

    SQL> select * from scott.t1;

    MY_NAME NEW_ID

    -------------------- ----------

    cheng 3

    yong 2

    xin 1

    gototop 2

    topcio 1

    yongxin 2

    cyx 1

    7 rows selected.

    第四步、 重启数据库服务。

    由于数据字典是在数据库启动时加载到SQL中的,所以修改了它之后,如果使用“SELECT * FROM SCOTT.TEST; ”,会发现好像并没有修改。因此,修改完成之后,还需要重启数据库服务。

    SQL>SHUTDOWN

    SQL>STARTUP

    这时,再查看,就会发现修改已经成功。

    到此为止我们已经把SCOTT.T1表中的列名和顺序都给改了,如果你只想改变顺序而不想改变列名,只需再进行UPDATE就可以了,之所以不能一次完成是因为SYS.COL$中COL#,NAME都是UNIQUE的。

    这种方法虽然存在一定风险,但对于特别大的表效果是很明显的,而用一般的方法将需要更多的存储空间、回滚段和时间开销。

    展开全文
  • 本文主要给大家介绍了关于Oracle数据库表中字段...前言前段时间,有人问我, 有一个关于Oracle中表字段顺序调整的问题。问题就是当设计好表结构之后,后期如果需要往表中增加字段,默认会把该字段放到表的最后,并且...

    本文主要给大家介绍了关于Oracle数据库表中字段顺序的修改方法,在介绍修改的方法之前先给大家介绍了Oracle数据库表新建字段的方法,文中通过示例代码介绍的非常详细,需要的朋友可以参考借鉴,下面随着小编来一起学习学习吧,希望能帮助到大家。

    前言

    前段时间,有人问我, 有一个关于Oracle中表字段顺序调整的问题。问题就是当设计好表结构之后,后期如果需要往表中增加字段,默认会把该字段放到表的最后,并且字段特别多而我们又想把有关联性的字段放在一起,这时就要修改字段顺序。在修改顺序之前,我们先来看看Oracle数据库表中如何增加字段。

    新增字段:

    添加字段的语法:alter table tablename add (column datatype [default value][null/not null],….);

    实例

    创建表结构:

    create table test1

    (id varchar2(20) not null);

    增加一个字段:

    alter table test1

    add (name varchar2(30) default ‘无名氏' not null);

    使用一个SQL语句同时添加三个字段:

    alter table test1

    add (name varchar2(30) default ‘无名氏' not null,

    age integer default 22 not null,

    has_money number(9,2)

    );

    字段顺序的修改

    第一种原始方法:

    删了重建,这种方法虽然简单粗暴,但不科学

    --新建临时表以存储正确的顺序

    create table A_2 as select (column1,colum2,……A表中的顺序) from A_1 ;

    --删除表A_1

    drop table A_1;

    --新建A_1并从A_2表中赋予其正确的顺序和值

    create table A_1 as select * from A_2;

    --删除临时表A_2

    drop table A_2;

    这种方法对字段较少的表来说还不会显得太麻烦,但是对于字段较多的表来说就吃力了。

    第二种方法(推荐):

    1、首先需要sys或system权限操作

    2、查询需要更改表的ID

    select object_id

    from all_objects

    where owner = 'ITHOME'

    and object_name = 'TEST';

    注:ITHOME为用户,TEST是要更改的表,表名要大写

    3、通过ID查出该表所有字段的顺序

    select obj#, col#, name

    from sys.col$

    where obj# = '103756' order by col#

    4、修改顺序

    update sys.col$ set col#=2 where obj#=103756 and name='AGE';

    update sys.col$ set col#=3 where obj#=103756 and name='NAME';

    或直接在第三步的语句后面加 for update 进行修改

    最后commit提交 并且重启Oracle服务

    相关推荐:

    展开全文
  • 前言前段时间,有人问我, 有一个关于Oracle中表字段顺序调整的问题。问题就是当设计好表结构之后,后期如果需要往表中增加字段,默认会把该字段放到表的最后,并且字段特别多而我们又想把有关联性的字段放在一起,...

    前言

    前段时间,有人问我, 有一个关于Oracle中表字段顺序调整的问题。问题就是当设计好表结构之后,后期如果需要往表中增加字段,默认会把该字段放到表的最后,并且字段特别多而我们又想把有关联性的字段放在一起,这时就要修改字段顺序。在修改顺序之前,我们先来看看Oracle数据库表中如何增加字段。

    新增字段:

    添加字段的语法:alter table tablename add (column datatype [default value][null/not null],….);

    实例

    创建表结构:

    增加一个字段:

    使用一个SQL语句同时添加三个字段:

    );

    字段顺序的修改

    第一种原始方法:

    删了重建,这种方法虽然简单粗暴,但不科学

    --删除表A_1

    drop table A_1;

    --新建A_1并从A_2表中赋予其正确的顺序和值

    create table A_1 as select * from A_2;

    --删除临时表A_2

    drop table A_2;

    这种方法对字段较少的表来说还不会显得太麻烦,但是对于字段较多的表来说就吃力了。

    第二种方法(推荐):

    1、首先需要sys或system权限操作

    2、查询需要更改表的ID

    注:ITHOME为用户,TEST是要更改的表,表名要大写

    3、通过ID查出该表所有字段的顺序

    4、修改顺序

    或直接在第三步的语句后面加 for update 进行修改

    最后commit提交 并且重启Oracle服务

    总结

    以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对编程之家的支持。

    展开全文
  • Oracle数据库如何修改表中字段顺序发布时间:2020-07-09 15:53:15来源:亿速云阅读:166本篇...前言前段时间,有人问我, 有一个关于Oracle中表字段顺序调整的问题。问题就是当设计好表结构之后,后期如果需要往表...
  • 1.首先需要sys或者system权限操作2.查询需要更改的表的IDselect object_id from all_objects where owner = '用户名' and ...通过ID查询出该表所有字段的顺序select obj# , col# , name from sys.col$ where obj# = ...
  • 有时我们可能需要为一个已存在的数据库表添加字段,并且想让这个字段默认排的靠前一些,这时就需要为表字段重新进行排序,默认情况下在Management Studio中调整顺序并保存时会提示“不允许保存更改。您所做的更改...
  • 对于已经创建好的表,尤其是已经有大量数据的表,如果需要对表做一些结构上的改变,我们可以先将表删除(drop),然后再按照新的表定义重建表。这样做没有问题,但是必然要做...(1) 修改表类型,语法如下:  ...
  • 对于已经创建好的表,尤其是已经有大量数据的表,如果需要对表做一些结构上的改变,我们可以先将表删除(drop),然后再按照新的表定义重建表。这样做没有问题,但是必然要...(1) 修改表类型,语法如下:ALTER TABLE t...
  • 概述目前数据库字符集统一用的utf8,由于项目需要,引进了表情,但是utf8mb5才支持表情字符,所以需统一修改数据库字符集,下面介绍批量修改数据库字符集的办法。修正顺序是字段级别>表级别>库级别。一、批量...
  • 今天接到一个任务是需要把数据库的字符编码全部修改一下,写了以下修正用的SQL,修正顺序表字段 > 表 > 数据库表字段修复: #改变字段数据 SELECT TABLE_SCHEMA '数据库',TABLE_NAME '表',COLUMN...
  • 概述目前数据库字符集统一用的utf8,由于项目需要,引进了表情,但是utf8mb5才支持表情字符,所以需统一修改数据库字符集,下面介绍批量修改数据库字符集的办法。修正顺序是字段级别>表级别>库级别。一、批量...
  • 概述目前数据库字符集统一用的utf8,由于项目需要,引进了表情,但是utf8mb5才支持表情字符,所以需统一修改数据库字符集,下面介绍批量修改数据库字符集的办法。修正顺序是字段级别>表级别>库级别。一、批量...
  • 本文主要向大家介绍了MySQL数据库之[linux][mysql] 命令更改表结构:添加、删除、修改字段、调整字段顺序 ,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助。常用的通过mysql命令来更改表结构的一些...
  • 前段时间,有人问我, 有一个关于Oracle中表字段顺序调整的问题。问题就是当设计好表结构之后,后期如果需要往表中增加字段,默认会把该字段放到表的最后,并且字段特别多而我们又想把有关联性的字段放在一起,这时...
  • 概述目前数据库字符集统一用的utf8,由于项目需要,引进了表情,但是utf8mb5才支持表情字符,所以需统一修改数据库字符集,下面介绍批量修改数据库字符集的办法。修正顺序是字段级别>表级别>库级别。一、批量...
  • oracle数据库调整字段顺序

    万次阅读 2017-09-08 11:05:27
    原表SAL为第6列,但是删除之后,再次添加,直接添加到表字段的最后,为保证与原表一致,故百度,参照前辈经验,进行修改,留此备份,以备不时之需。 一、以sys身份登录(以DOS窗口为基础) sqlplus / as sysdba二、...
  • 这是数据库系列的第一篇文章,主要是对mysql的基本操作有一个了解。本系列的教程会先从基础出发,逐步过渡到优化。...注意,对于数据库在学习的时候,过程都是从增查改删用的顺序来的。二、操作数...
  • 翻译:尚凯审核:魏波Egor Rogov俄罗斯Postgres Professional公司数据库专家目录1 介绍2 索引3 索引引擎4 主要扫描技术 4.1 索引扫描 4.2 位图扫描 4.3 顺序扫描 4.4仅索引扫描介绍 本文主要关注PostgreSQL中的索引...
  • 一,查询数据库中拥有相同类型的表 -- 批量查询有相同类型的表 SELECT TABLE_SCHEMA AS '库名', TABLE_NAME AS '表名', COLUMN_NAME AS '列名', ORDINAL_POSITION AS '列的排列顺序', COLUMN_DEFAULT AS '...
  • arcgis如何永久修改字段顺序

    千次阅读 2020-05-14 23:50:27
    右键属性表,打开设计视图,进入表字段设计界面,长按鼠标左键拖动目标字段,在合适的位置停止拖动即可 保存修改结果后,在arcgis中再将MDB转为你的格式。 二、Visual ForPro中修改 用Visual ForPro打开dbf表,在...
  • 3、获取表字段,会读处lotus数据的所有表名,自动目标生成表创建的sql语句,默认字段长度都是254,如需要可以自己修改 4、点“创建表”按钮,如果已创建了不要再点这个按钮 5、点“导出数据”,程序开始自动导出数据...
  • 3、通过点击“设计”按钮,将切换到表结构设计页,您可以方便的增加、修改、删除表字段,调整字段顺序,设置主键,设置非空等操作。 4、当你编辑了许多SQL语句后,可点击”SQL保存”按钮,保存自己的劳动成果,通过...
  • 3、通过点击“设计”按钮,将切换到表结构设计页,您可以方便的增加、修改、删除表字段,调整字段顺序,设置主键,设置非空等操作。 4、当你编辑了许多SQL语句后,可点击”SQL保存”按钮,保存自己的劳动成果,通过...
  • 3、通过点击“设计”按钮,将切换到表结构设计页,您可以方便的增加、修改、删除表字段,调整字段顺序,设置主键,设置非空等操作。 4、当你编辑了许多SQL语句后,可点击”SQL保存”按钮,保存自己的劳动成果,通过...
  • 10、 修改表字段 修改tel列 alter table user modify tel varchar(15) default ‘02087654321’; 修改tel列的位置,在第一列显示 alter table user modify tel varchar(15) default '02087654321' first; 修改tel列...

空空如也

空空如也

1 2 3
收藏数 57
精华内容 22
关键字:

数据库表字段顺序修改