无法将NULL值插入列 ID 什么的 怎么解决

无法将NULL值插入列 ID 什么的 怎么解决,第1张

在创建表的时候,可以选择两种创建方式,一种是用sql脚本

一种是用企业管理器,当然oracle也是一样的

当你使用sql脚本的时候有的时候应要求会添加一个主键,以便于快速的找到数据库中相应表的相应字段的某一列,主键的默认属性是

“不能为空

以及

“唯一”

也就是说

表中有主键的字段的内容在插入的时候是必填的,不能为空,脚本中的另外一种情况是

在定义了一个字段以后,在后面添加了“not

null“约束,这个约束代表了,当前字段不能为空。第三种情况就是在企业管理器模式下,创建表的时候右面会有一个单选框,列头部分写明允许空,只有选择了这个属性的字段,在插入数据的时候才可以插入空值,当然主键和唯一键依然不能为空

以sqlserver数据库为例,解决方案:

1、点击数据库表右键的【设计】;

2、把影响到的列改成允许为空;

3、点击【保存】。

原因:SQL存储过程语法可能是正确的,因为语法并没有对表结构内部字段是否非空进行验证,只有执行了才知道。可以选择编辑前200行,看一下是不是新增了列,但是列里面的值是null,然后又在设置的列里面不允许有null,这样就不允许保存了。

扩展资料:

SQL Aggregate 函数计算从列中取得的值,返回一个单一的值。

有用的 Aggregate 函数:

AVG() - 返回平均值,COUNT() - 返回行数,FIRST() - 返回第一个记录的值

LAST() - 返回最后一个记录的值,MAX() - 返回最大值,MIN() - 返回最小值,SUM() - 返回总和。

SQL Scalar 函数基于输入值,返回一个单一的值。

有用的 Scalar 函数:

UCASE() - 将某个字段转换为大写,LCASE() - 将某个字段转换为小写,MID() - 从某个文本字段提取字符

LEN() - 返回某个文本字段的长度,ROUND() - 对某个数值字段进行指定小数位数的四舍五入,NOW() - 返回当前的系统日期和时间,FORMAT() - 格式化某个字段的显示方式。

参考资料:百度百科——sql

在使用过程中出现的问题,应该是往数据库添加数据时报错的吧,也就是说在添加一条记录时主键ID为空,你检查下你添加记录时主键(ID)是自动生成的还是手动输入的,如果是手动输入的则必须输入ID才能添加。一般来说添加数据时如果数据库的非空字段值为空都会有提示的,如“XX不能为空”。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9996943.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-04
下一篇 2023-05-04

发表评论

登录后才能评论

评论列表(0条)

保存