-
错误原因:因在Oracle数据库中存在CLOB和BLOB字段,所以在对数据库做插入或更新操作时如果CLOB和BLOB字段后有NUMBER等其他类型的字段时就会报这个错误。
-
解决方法:
- 如果使用的是MybatisPlus,则将实体类中的clob或blob字段放在最后边即可。
- 如果用的是非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)