在开发中遇到的一些错误提示信息:
1,无效的列类型:可能是因为参数名不对应造成的,#{参数名}括号中的参数名与实际传递的参数名不一致,或者与字段类表不匹配,或者是传参的类型不匹配,例如日期,数字等,或者在用Oracle数据库中获得序列时的ID字段与形参上下不匹配;
2,无效的列索引:select语句中where条件的字段语法错误,包括,括号,引号,百分号等,特别是有模糊查询的时候(like),百分号需要格式化。如果是MySQL需要用CONCAT函数,Oracle则用||符号将参数于百分号拼接起来,或者使用MyBatis的bind标签进行配置;
3,无法转换为内部表示:可能是因为返回的数据类型与配置文件中的不匹配;
4,ORA-00911:无效字符,可能是因为复制SQL语句的时候,多加了分号,在配置文件中,SQL的末尾是不需要分号(";")的;
5,ORA-00936:缺失表达式,可能是因为FROM关键字前多加的逗号(","),FROM前不能有逗号;
6,ORA-00923:未找到要求的FROM关键字,SELECT后的字段列表缺少逗号,错误信息提示找不到FROM关键字;
7,ORA-01722:无效数字,形参类型与实参类型不匹配,比方说定义了数字类型的字段,参数却是其它的类型;
8,ORA-00947: 没有足够的值,在INSERT中字段列表与VALUES中的赋值列表没有一一对应;
9,ORA-00904: 标识符无效,SQL中的字段名与数据库中的字段名不匹配;
10,ORA-00917: 缺失逗号,SELECT字段类表中是否缺少逗号(”,“);
11,ORA-01745: 无效的主机/绑定变量名,在SQL语句中,两个赋值的变量(#{变量名})间没有写逗号,还有一种可能是因为用的数据库中的关键字作为变量名。
12,ORA-00933: 命令未正确结束 批量插入时,如果没有主键,一定要显式指定useGeneratedKeys为false,否则会报: SQL 命令未正确结束;
13,ORA-00936: 缺失表达式,实参与形参数值不匹配;
14,ORA-01861: 文字与格式字符串不匹配,注意操作时间格式的时候,实参是否与数据库里字段匹配;
15,ORA-00918: 未明确定义列,表连接查询的时候,注意给表起别名以及对应字段,别名点(.)字段名;