插入表时,长度超过字段长度,不会报错,数据库把字段截断后插入
举例:
A表字段1长度为varchar(2)
insert 该表时,对应字段1的值长度为3,不会出现异常,数据库把长度为3位的字符串截断成前面2位,插入到数据库。
请问下这种现象是否为参数的配置,还是bug
select * from v$dm_ini where para_name=‘COMPATIBLE_MODE’
这个参数的值是多少呢
你好,此问题是参数配置导致的,不是BUG。
当设置兼容性参数COMPATIBLE_MODE为4(兼容MySQL)时,就会出现你提出的这个问题;
当设置兼容性参数COMPATIBLE_MODE为4(兼容MySQL)时,请一并修改参数MY_STRICT_TABLES为1,可用如下语句进行修改,重启生效
sp_set_para_value(2,‘MY_STRICT_TABLES’,1);
看下下面的相关信息:
select id_code;看下数据库版本,
select * from v$option; 看下初始化参数
另外,最好能给个遇到报错的表结构和insert语句。