Msg 547 The ALTER TABLE statement conflicted with the CHECK constraint .
创建约束出现下面的错误:
Msg 547, Level 16,State 0, Line 2
The ALTER TABLEstatement conflicted with the CHECK constraint "chk_id". The conflictoccurred in database "test", table "dbo.test_CONSTRAINT",column 'ID'.
这个错误说明现有的表中数据超过了约束的限制,所以无法插入。一般我们需要将表中数据梳理完之后重新创建,但是可能存在一种状况比如以前确实只有5位的数据,现在升级系统后变为8位以前的数据还要保留。解决这个问题可以使用WITH NOCHECK参数。
CREATE TABLE test_CONSTRAINT
(
ID INT
)
--插入一条记录误
INSERT INTO test_CONSTRAINTVALUES(100000)
select * fromtest_CONSTRAINT
--创建约束(只允许-10000)
ALTER TABLE dbo.test_CONSTRAINTADDCONSTRAINT id_checkCHECK(idbetween 1and 10000);
Msg 547, Level 16,State 0, Line 2
The ALTER TABLEstatement conflicted with the CHECK constraint "chk_id". The conflictoccurred in database "test", table "dbo.test_CONSTRAINT",column 'ID'.
--WITH NOCHECK 以避免根据现有行验证该约束,从而允许添加该约束
ALTER TABLE dbo.test_CONSTRAINTWITHNOCHECK
ADD CONSTRAINT id_checkCHECK(idbetween 1and 10000);
-- 重新启用约束
ALTER TABLE dbo.test_CONSTRAINTCHECKCONSTRAINTid_check;
--插入违反约束的数据报错
INSERT INTO test_CONSTRAINTVALUES(100000)
Msg 547, Level 16,State 0, Line 1
The INSERTstatement conflicted with the CHECK constraint "id_check". Theconflict occurred in database "test", table"dbo.test_CONSTRAINT", column 'ID'.
The statement hasbeen terminated.
本文转自 lzf328 51CTO博客,原文链接:
http://blog.51cto.com/lzf328/1031390
Msg 547 The ALTER TABLE statement conflicted with the CHECK constraint .相关推荐
- The ALTER TABLE statement conflicted with the FOREIGN KEY constraint FK_SortId.
在创建外键时,出错. USE E_Market GO ALTER TABLE CommodityInfo ADD CONSTRAINT FK_SortId FOREIGN KEY(SortId) re ...
- The DELETE statement conflicted with the REFERENCE constraint
Page是主表,主键是pageid:UserGroupPage表中的PageID字段是Page表里的数据. https://www.codeproject.com/Questions/677277/I ...
- Hive - Create TableDrop Table ALTER Table(中)
译注:书接上篇,了解过创建表以及load data后,假如发现需要更改表字段类型或者添加表字段,怎么办?这篇文章将进一步了解具体细节. This chapter explains how to alt ...
- DB2中ALTER TABLE为什么需要REORG操作?
ALTER TABLE操作在日常开发中很常见,下面是摘自DB2官网关于ALTER TABLE操作的一段话. Perhaps the most important thing to realize wh ...
- MySQL 新增字段(alter table add column),报错:Duplicate entry
问题 执行一个增加字段的DDL语句脚本时,报错,错误如下: Error 1062: Duplicate entry 'c51d3db8-59a5 2022-06-28 17:59:59' for ke ...
- MySQL基础知识——ALTER TABLE
点击关注上方"SQL数据库开发", 设为"置顶或星标",第一时间送达干货 ALTER TABLE的作用 ALTER TABLE命令用于添加.删除或者更改现有数据 ...
- 自己动手为Spark 2.x添加ALTER TABLE ADD COLUMNS语法支持
SparkSQL从2.0开始已经不再支持ALTER TABLE table_name ADD COLUMNS (col_name data_type [COMMENT col_comment], .. ...
- alter table锁表,MySQL出现Waiting for table metadata lock的场景浅析及解决方案
在修改/增加表字段的时候,发现很慢, show processlist; 时, Waiting for table metadata lock 能一直锁很久. 官网的一段话,可以理解下 http:// ...
- mysql ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing t
前言:这篇转载的文章是我很久以前写的,但是后来手机换号了,又注册新号开始继续写blog.旧文章不能合并到新账号,就以转载的形式纪念下过去 环境:ubuntu 16.04/mysql 5.7.16 今天 ...
最新文章
- cnblogs-5个必须掌握的maven命令
- SAP SD-销售模式-寄售(客户寄售)
- 【Wicket是个什么鬼】wicket框架URL路由规则
- SDUT 1265-马停下过河卒(DFS)
- linux服务器网页出现错误,常见网页错误 | Linux 主机 (cPanel) - GoDaddy 帮助 SG
- amazon php 空间,(四)Amazon Lightsail 部署LAMP应用程序之扩展PHP前端
- TortoiseGitPlink提示输入密码解决方法
- linux shell编程if语句内判断参数详解【ZT】
- Numpy——数组合并
- oracle xsql详解(二)
- AlphaGo的深度学习系统Tensorflow详细安装入门
- C#中IntPtr打印输出
- 远程桌面连接计算机下拉记录清除,Win7怎么删除远程桌面连接记录
- 软件安装管家matlab教程,timesat软件怎么安装 timesat安装使用图文教程 - 驱动管家...
- WPS 如何删除我的设备
- IT:后端进阶技术路线图(初级→中级→高级)、后端开发工程师(技术方向分类之后台业务开发/中间件/内核/分布式架构)基础知识简介、技术路线/技术趋势指南(如何选择自己的技术方向)之详细攻略
- wordpress mysql 密码重置_WordPress登录密码找回办法之修改数据库篇 | Wopus
- 《Windows 8 权威指南》——2.9 轻松为Windows 8 Metro开始屏幕增加关机/重启等应用...
- 记一次WebService调用踩的坑
- 了解Cookie是什么
热门文章
- python黑屏改成白底_Python实现将蓝底照片转化为白底照片功能完整实例
- CentOS 6.4 x64 Cacti 监控安装配置
- org.apache.hadoop.hdfs.qjournal.client.QuorumException: Unable to check if JNs are ready for formatt
- React 合成事件
- 解决微信扫码下载的两个方法
- 玩转WORD字体设置:WORD字间距怎么调整,WORD字体怎么调大等
- 社区送温暖!Unitimes携手环信新春送好礼
- java 仿易企秀_鲁班H5(开源可视化搭建系统, 可以理解为开源版本易企秀)核心实现原理解析...
- Hoofball(B题)
- 区块链软件开发艺术品交易平台开发NFT交易平台开发铸造源代码案例分享