如何在达梦数据库中忽略某些关键字?去掉某些保留的关键字?

发布时间 2023-04-07 10:37:33作者: 拨云3

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了。