达梦数据库非空约束错误解决,明明插入空字符串“,但还是触发非空约束

目录

前言

解决方法

第一步:打开达梦安装目录,data下找到dm.ini文件

第二步:打开dm.ini,搜索COMPATIBLE_MODE,将值改为0

第三步:重启数据库

详解COMPATIBLE_MODE


前言

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

解决方法

第一步:打开达梦安装目录,data下找到dm.ini文件

达梦数据库非空约束错误解决,明明插入空字符串“,但还是触发非空约束_第1张图片

注意:如果你是中标麒麟或者Linux,也在同样的路径。 

第二步:打开dm.ini,搜索COMPATIBLE_MODE,将值改为0

达梦数据库非空约束错误解决,明明插入空字符串“,但还是触发非空约束_第2张图片

第三步:重启数据库

详解COMPATIBLE_MODE

此参数的意思是数据库兼容模式,值0是都不兼容、1是SQL92、2是Oracle、3是SQL Server、4是MYSQL、5是DM6。

也就是说,选择谁,就用谁的模式。我出现此问题的原因就是选择了2,Oracle就是空串和null是一样的,所以我将值改为了0,就没有问题了。

你可能感兴趣的:(达梦数据库,数据库,达梦数据库,非空约束,DM8,DM7)