如何在达梦数据库中忽略某些关键字?去掉某些保留的关键字?
1、问题描述
在执行数据库的初始化的脚本的时候,有如下的报错:
sql:insert into pub_mobappconfig(pk,appcode,appid,appname,appopenurl,def1,def2,def3,def4,def5,domain,
dr,imageurl,ofline,ts,version,zipurl) values('1001Z510000000012UNO','mobile_platform','mobile_platform','依赖包',null,'~',
'~','~','~','~','PUB',0,null,'N','2021-04-25 14:54:52',1,'/mobile_platform.zip') 第 1 行, 第 103 列[domain]附近出现错误: 语法分析出错
2、问题分析
原因:domain是系统保留关键字
经过排查,发现字段domain是达梦数据库的关键字,是作为系统保留的。
如果在建表的ddl语句中,有该字段,则创建表是失败的。进而,导致插入sql执行失败
3、问题解决
知道了以上的问题,有2种的处理方法:
- 更改建表语句中的字段名称
- 修改数据库,忽略这些保留的关键字。
接下来介绍,如何设置忽略某些保留的关键字,也就是当建表语句使用这些关键字作为字段的名称时,是被允许的。
修改的方法
a、打开达梦数据库的配置文件dm.ini
[root@yks01 DMUTF8]# ls -l dm.ini -rw-r--r-- 1 dmdba dinstall 67092 4月 7 2023 dm.ini [root@yks01 DMUTF8]#
b、找到参数 EXCLUDE_RESERVED_WORDS
在 = 后面,加上关键字 DOMAIN,VERIFY,REFERENCE,OFFSET,LIMIT,TYPE,REF,CONTEXT,LOGIN,CONTEXT,SA
注意:这里填写的保留关键字,大小写都可以。
效果:
保存配置。
c、重启达梦数据库
重启数据库后,再次执行建表及插入语句就OK了。