如何用sql语句添加非空列?

如何用sql语句添加非空列?,第1张

改变已有表的列字段,使用alter命令;\r\n格式:\r\nalter table 表名 add 新增字段名 字段类型 [列级约束]\r\n\r\n例如:alter table student add grade int not null (not null 属于列级约束)\r\n\r\n但可能出现以下的情况:\r\nALTER TABLE 只允许添加满足下述条件的列: 列可以包含空值;或者列具有指定的 DEFAULT 定义;或者要添加的列是标识列或时间戳列;或者,如果前几个条件均未满足,则表必须为空以允许添加此列。\r\n\r\n原因:表中原本有数据(存在很多行),在你新增加非空字段后,原来存在的行中的数据本来为空,但你又要求它非空,这样就矛盾了,所以该命名就不会执行,就会报错。\r\n\r\n解决方法:\r\n1、alter table student add grade int 不加非空约束;\r\n2、update table student set grade=60 where grade is NULL 将存在的数据行中的grade字段同一设置成60分;\r\n3、alter table student alter column grade int not null 增加非空约束;

第一步:新建数据库并设置可写权限

打开SQL Server管理器窗口,用本地用户登录;然后点击右键——新建数据库;完成之后将数据库文件及日志文件设置为可读可写,如图:

请点击输入图片描述

请点击输入图片描述

请点击输入图片描述

第二步:新建数据表

展开数据库,点击表——新建表,输入名称及数据类型,如图:

(注:数据类型非常重要)

请点击输入图片描述

请点击输入图片描述

第三步:设置主键约束

点击表右键——设计——选中id——右键——设置主键,将id设置为主键,主键默认唯一。

如图:

请点击输入图片描述

请点击输入图片描述

请点击输入图片描述

第四步:测试主键约束

在数据表中输入数据,为测试主键的约束,输入两行一模一样的id,保存;

如图所示,保存会提示主键不允许重复。

请点击输入图片描述

请点击输入图片描述

第五步:设置非主键唯一值约束

选中表,点击菜单栏——新建查询,将IDcard设为非主键唯一值,输入以下代码:

ALTER TABLE Users

ADD unique(IDcard),然后点击执行。

如图:

请点击输入图片描述

请点击输入图片描述

第六步:测试非主唯一约束

同理,在数据表中输入两行id不同,IDCard相同的数据,并保存;若出现错误提示,将IDCard修改之后再检测,如图:

请点击输入图片描述

请点击输入图片描述

第七步:关闭数据库并断开连接

由于数据库会在后台运行,所以测试完之后,本地数据库一定要断开连接,然后关闭,如图:

请点击输入图片描述


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存