在实际的 LONG 或 LOB 列之后提供了扩展的非 LONG 绑定数据(修改数据库表字段顺序)

  • 错误原因:因在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)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值