1、今天在做增删改查的时候,发现一个问题,就是我的某字段设置为NOT NULL非空约束,但在插入空字符串的时候还是触发非空约束报错,这令我十分费解,我又没有传null,为什么还会触发非空约束呢?苦思良久找到问题关键,是因为我在往服务器上部署达梦的时候,设置了兼容模式为2,一会再解释这个兼容模式。

2、打开dm.ini,搜索COMPATIBLE_MODE,将值改为0,然后重启数据库服务

3、此参数的意思是数据库兼容模式,值0是都不兼容、1是SQL92、2是Oracle、3是SQL Server、4是MYSQL、5是DM6。也就是说,选择谁,就用谁的模式。我出现此问题的原因就是选择了2,Oracle就是空串和null是一样的,所以我将值改为了0,就没有问题了。

ps:重启  切换成dmdba用户,进入到启动目录 。./dm*****    restart

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐