1.
问题描述:不能向表中插入数据
报错信息:
271: Could not insert new row into the table.
136: ISAM error: no more extents
问题原因:如果建表的时候不手工修改表的next size值,则默认为16,next size太小,表的扩展很容易达到极限,因此需要删除一部分数据然后修改参数
处理步骤:
1).先删除表的一部分数据
2).alter table table_name next size 10240(10240只是个参考值,感觉实际需要修改)
2.
问题描述:系统表锁,不能利用dbschema查看表结构
报错信息:
问题原因:数据库中有异常sql导致系统锁表
处理步骤:
1)。利用onstat –g sql查看所有数据库正在执行的sql
2)。onstat –g sql id查看sql语句,得到异常sql的id
3)。利用onmode –z id 来杀掉异常sql
3.
问题描述:数值超出字段类型的范围
报错信息:
1215: Value exceeds limit of INTEGER precision
问题原因:由于字段类型为整形,最大为2147483647,但是插入的数超过这个值
处理步骤:
1)。检查这个值是否正常
2)。如果插入的数正常,则修改字段类型,比如改为int8或者float
修改方法为alter table table_name modify column_name int8(float)
4.
问题描述:不能向表中插入数据
报错信息:
268: Unique constraint (informix.u151_54) violated.
100: ISAM error: duplicate value for a record with unique key.
问题原因:
表创建了主键,主键所包含的字段不能重复,而表中已经存在了正在入的数据,导致出错
处理步骤:
检查表中已经存在的数据是否是需要的数据,如果不是,则删除此数据,在插入新的数据,如果存在的数据和需要入的数据一致,则不需再入。
5.
问题描述:向表中增加字段是报错alter table test add(type char)
报错信息:
9992: Named row type (char) not found.
问题原因:由于type为类型关键字,在此系统认为你增加类型而不是字段
处理步骤:
可以修改字段type为其它的字段名,或者按照如下更改:
alter table test add(type char)
备注:
在建表或者修改表字段时需要注意防止字段名为数据库关键字
6.
问题描述:insert数据时报错
报错信息:
-292 An implied insert column column-name does not accept NULLs.
问题原因:指定的INSERT字段不接收NULL.
处理步骤:RDSQL不允许在非空字段中插入一个NULL值.检查在INSERT语句的字段列表中是否有非空字段.
7.
问题描述:分组sql报错
报错信息:
-294 The column column-name must be in the GROUP BY list.
问题原因:字段不在GROUP BY列表中.
处理步骤:SELECT 列表中的非聚合必须包含在GROUP BY列表中.重新构造语句.将所有非聚合功能的字段包含在内.
8.
问题描述:分组sql报错
报错信息:
-295 Referenced and referencing tables have to be in the same database.
问题原因:GROUP BY 字段的个数太多.
处理步骤:在ORDER BY 或GROUP BY语句中引用到的字段个数超过SELECT语句中的字段总数.
9.
问题描述:分组sql报错
报错信息:
-300 There are too many GROUP BY columns.
问题原因:GROUP BY 字段太多(最大为8)
处理步骤:减少语句中的字段个数.使之小于或等于8.
另外,varchar(number)型字段,number不得超过255
CHAR型字段不得超过32767个字符
在UNIX系统上数据库名不得超过10个字符;
问题描述:不能向表中插入数据
报错信息:
271: Could not insert new row into the table.
136: ISAM error: no more extents
问题原因:如果建表的时候不手工修改表的next size值,则默认为16,next size太小,表的扩展很容易达到极限,因此需要删除一部分数据然后修改参数
处理步骤:
1).先删除表的一部分数据
2).alter table table_name next size 10240(10240只是个参考值,感觉实际需要修改)
2.
问题描述:系统表锁,不能利用dbschema查看表结构
报错信息:
问题原因:数据库中有异常sql导致系统锁表
处理步骤:
1)。利用onstat –g sql查看所有数据库正在执行的sql
2)。onstat –g sql id查看sql语句,得到异常sql的id
3)。利用onmode –z id 来杀掉异常sql
3.
问题描述:数值超出字段类型的范围
报错信息:
1215: Value exceeds limit of INTEGER precision
问题原因:由于字段类型为整形,最大为2147483647,但是插入的数超过这个值
处理步骤:
1)。检查这个值是否正常
2)。如果插入的数正常,则修改字段类型,比如改为int8或者float
修改方法为alter table table_name modify column_name int8(float)
4.
问题描述:不能向表中插入数据
报错信息:
268: Unique constraint (informix.u151_54) violated.
100: ISAM error: duplicate value for a record with unique key.
问题原因:
表创建了主键,主键所包含的字段不能重复,而表中已经存在了正在入的数据,导致出错
处理步骤:
检查表中已经存在的数据是否是需要的数据,如果不是,则删除此数据,在插入新的数据,如果存在的数据和需要入的数据一致,则不需再入。
5.
问题描述:向表中增加字段是报错alter table test add(type char)
报错信息:
9992: Named row type (char) not found.
问题原因:由于type为类型关键字,在此系统认为你增加类型而不是字段
处理步骤:
可以修改字段type为其它的字段名,或者按照如下更改:
alter table test add(type char)
备注:
在建表或者修改表字段时需要注意防止字段名为数据库关键字
6.
问题描述:insert数据时报错
报错信息:
-292 An implied insert column column-name does not accept NULLs.
问题原因:指定的INSERT字段不接收NULL.
处理步骤:RDSQL不允许在非空字段中插入一个NULL值.检查在INSERT语句的字段列表中是否有非空字段.
7.
问题描述:分组sql报错
报错信息:
-294 The column column-name must be in the GROUP BY list.
问题原因:字段不在GROUP BY列表中.
处理步骤:SELECT 列表中的非聚合必须包含在GROUP BY列表中.重新构造语句.将所有非聚合功能的字段包含在内.
8.
问题描述:分组sql报错
报错信息:
-295 Referenced and referencing tables have to be in the same database.
问题原因:GROUP BY 字段的个数太多.
处理步骤:在ORDER BY 或GROUP BY语句中引用到的字段个数超过SELECT语句中的字段总数.
9.
问题描述:分组sql报错
报错信息:
-300 There are too many GROUP BY columns.
问题原因:GROUP BY 字段太多(最大为8)
处理步骤:减少语句中的字段个数.使之小于或等于8.
另外,varchar(number)型字段,number不得超过255
CHAR型字段不得超过32767个字符
在UNIX系统上数据库名不得超过10个字符;