摘要:微信搜索【三桥君】
本篇讲述的是在已经创建好表且有数据的情况下,增加CHECK约束的报错问题

一、问题

当我给数据库中已经创建好的Student表,增加约束条件。

--增加student表的约束条件,要求性别只允许取“男”或“女”。
ALTER TABLE Student
ADD CONSTRAINT C_Student CHECK (sex IN ('男','女'))

语法没错,但是运行出现报错。如图:

消息 547,级别 16,状态 0,第 41 行
ALTER TABLE 语句与 CHECK 约束"C_Student"冲突。该冲突发生于数据库"ScoreDB",表"dbo.Student", column ‘sex’。

二、分析原因

正常情况下,我们创建好数据表,然后用该语法定义增加约束是没问题的。
但是经本人研究发现,当数据表中有数据时,增加约束会出现该问题。
因为该Student表中是有数据的,所以增加不了约束。

三、解决办法

方法一

sql语句方式:
把相关数据表的数据删除掉,再执行该语句。
如果删除表数据还是有问题,建议重建数据库,先建立好关系,再导入数据试试。

方法二

可视化向导方式:
把“在创建或重新启动时检查现有数据”改为否。

  1. 找到Student表,右击约束,点击“新建约束”
  2. 左上角自动有一个约束,然后点击图中位置的省略号图标
  3. 根据实际情况给它添加约束关系,直接在框中输入或黏贴,定义完关系后点击确定
  4. 把“在创建或重新启动时检查现有数据”改为否!!!
    注意:
    如果数据表中都没有数据,可以默认为是。但是数据表中都有数据才创建约束,就要把这里改为否,才能创建成功。
  5. 最后关闭这个页面,会出现是否保存数据,依次点是就行了。


文章整理不易,如有帮助请点赞关注支持,谢谢!微信搜索【三桥君】,回复【关注】有我准备的一份资源大礼包。后续持续更新~~~

【数据库】ALTER TABLE 语句与 CHECK 约束““冲突。该冲突发生于数据库““,表““, column ‘‘相关推荐

  1. 【数据库】ALTER TABLE 语句与 FOREIGN KEY 约束““冲突。该冲突发生于数据库““,表““, column ‘‘。

    摘要:微信搜索[三桥君] 本篇讲述的是在已经创建好表且有数据的情况下,增加 FOREIGN KEY 约束的报错问题 一.问题 当我在一张Student表中增加它的classNo外键,外键参照Class ...

  2. ALTER TABLE 语句与 FOREIGN KEY 约束“FK_Booking_Hotel“冲突。

    错误:SQL Server 创建数据库表的外键时出错 ALTER TABLE 语句与 FOREIGN KEY 约束"FK_Booking_Hotel"冲突.该冲突发生于数据库&qu ...

  3. Mysql数据库check约束语句_怎么用sql命令语句写check约束

    展开全部 用sql命令语句写CHECK约束32313133353236313431303231363533e59b9ee7ad9431333433623137的格式为CHECK (约束条件). 如: ...

  4. MySQL修改数据表(ALTER TABLE语句)

    为实现数据库中表规范化设计的目的,有时候需要对之前已经创建的表进行结构修改或者调整. 在 MySQL 中可以使用 ALTER TABLE 语句来改变原有表的结构,例如增加或删减列.创建或取消索引.更改 ...

  5. MySQL中定义fk语句_MySQL的SQL语句 - 数据定义语句(6)- ALTER TABLE 语句 (4)

    外键和其他约束 InnoDB和NDB存储引擎支持 FOREIGN KEY 和 REFERENCES 子句,这些存储引擎实现了ADD [CONSTRAINT [symbol]] FOREIGN KEY ...

  6. SQL ALTER TABLE 语句

    SQL ALTER TABLE 语句 ALTER TABLE 语句 ALTER TABLE 语句用于在已有的表中添加.删除或修改列. SQL ALTER TABLE 语法 如需在表中添加列,请使用下面 ...

  7. mysql的altertable_【编程词典】mysql ALTER TABLE语句

    alter 英 [ˈɔ:ltə(r)]   美 [ˈɔltɚ] vt.改变;更改;改建(房屋);(人)变老 vi.改变;修改 第三人称单数: alters 现在分词: altering 过去式: al ...

  8. 用ALTER TABLE语句来创建索引

    7.2.3 用ALTER TABLE语句来创建索引 在已经存在的表上,可以通过ALTER TABLE语句直接为表上的一个或几个字段创建索引.基本形式如下: 1. ALTER TABLE 表名 ADD ...

  9. mysql更改数据语句6_MySQL的SQL语句 - 数据定义语句(6)- ALTER TABLE 语句(1)

    ALTER TABLE 语句 ALTER TABLE更改表的结构.例如,可以添加或删除列.创建或销毁索引.更改现有列的类型.重命名列或表本身.还可以更改表特性,例如用于表或表注释的存储引擎. ●要使用 ...

最新文章

  1. 用rand_7()实现rand_10()
  2. Java黑皮书课后题第8章:**8.12(金融应用:计算税款)使用数组重写程序清单3-5,每个纳税人身份都有6种税率。每种税率都应用在某个特定范围内的可征税收入
  3. 通过WiFi调试android手机
  4. PyTorch深度学习实践03
  5. MATLAB学习笔记(十一)
  6. python随机图片api_抓取随机图片
  7. 1. JanusGraph的优势
  8. JS操作Cookie写入和读取实例代码
  9. windows、ubuntu、Red Hat、Solaris 单网卡绑定多个IP
  10. Vue全家桶 之 KTV前台收银管理系统 (不想努力啦,回家收钱去)
  11. VMware Workstation 12激活码
  12. 【附源码】计算机毕业设计SSM汽车4S店服务管理系统
  13. 色环电阻、色环电容的识别方法
  14. Microsoft Edge浏览器或者电脑上其他浏览器的主页被篡改后的解决办法。(适用于联想电脑)
  15. Android 单个指定蓝牙设备通讯流程
  16. 【技术贴】网页部分图片显示x红叉,网页图片不显示,网页图片显示异常,网页图片打不开。...
  17. 机器学习——决策树算法之代码+数学实例解析
  18. C#查询自己的公网IP接口(有服务器)
  19. 搜狗2020秋招笔试的一道算法题
  20. CISP证书价值如何

热门文章

  1. 【Python茴香豆系列】之 PANDAS 修改 DataFrame 列名
  2. 【产品经理入门】主要工作内容与3D文档-D1
  3. 研究生学位论文质量快速下滑,写作水平非常低劣,学生任性急躁,工匠精神缺失,论文看不出热爱和用心...
  4. 【校招VIP】活动发布模块 简历:本期亮点描写和面试提问点
  5. PCB设计-数字供电和模拟供电电源隔离
  6. 学习java后端路线心得_我最推荐的一张Java后端学习路线图,Java工程师必备
  7. 考研数学笔记 51~55
  8. Dot1Q tunnel(Q in Q)
  9. 中科大计算机系好不好,中科大数学系毕业好不好找工作?看网友怎么说
  10. dialog弹出时,点击dialog之外的地方时,dialog不消失。