表中字段名称与数据库中关键名称冲突了。
比如:
表中字段名称为role,date, level等来表示角色,日期,级别
这与数据库中的关键词ROLE,DATE冲突了。
select * from v$reserved_words where keyword in ( select COLUMN_NAME from all_tab_columns where table_name = '表名大写' and owner = '用户名大写'); |
3.1 避免使用ORACLE的关键字作为表字段名。(推荐)
3.2 建表时,把字段名加上双引号,并且严格区分大小写。因为Oracle默认是不区分大小写的,但若是字符串,并使用了双引号,此时会区分大小写。默认情况date不能作为字段名称,但使用双引号后就可以创建表了。如下所示:
create table test_person( pid varchar2(44) primary key, pname varchar2(100), "date" date ); |
在框架中配置引发的问题。
4.1 hibernate里面配置level字段后,则会报列名无效,
如果一定要用这个,则需要用‘’括起来,就解决问题。
错误的方式:
Xml代码
正确的方式:
Xml代码
4.2 Mybatis中插入数据时,多了个逗号
insert into yw_cb_grjbzl (xm,xb,csny,mz,) values ('张三','女','汉族',);