在 SQL Server 中尝试添加 CHECK 约束时,可能会遇到错误“无法添加约束 'CK_Student'”。此错误通常意味着约束 'CK_Student' 与表中已有的数据冲突。具体而言,该约束可能应用于 'Sdept' 列,但某些行中的 'Sdept' 值违反了该约束,导致无法添加。

为了解决这个问题,您需要先修正违反约束的数据。以下步骤可以帮助您完成:

  1. 查找违反约束的数据:

使用以下查询语句查找违反约束 'CK_Student' 的数据:

SELECT * FROM dbo.Student WHERE Sdept NOT IN ('Computer Science', 'Mathematics', 'Physics');
  1. 修改违反约束的数据:

修改违反约束的数据,使其符合约束 'CK_Student'。例如:

UPDATE dbo.Student SET Sdept = 'Computer Science' WHERE Sdept = 'C.S.';
UPDATE dbo.Student SET Sdept = 'Mathematics' WHERE Sdept = 'Math';
  1. 重新尝试添加约束:

完成数据修改后,再次尝试添加约束 'CK_Student'。

如果仍然无法添加约束,请重复以上步骤,直至所有数据都符合约束条件。

注意: 确保您理解数据修改的潜在影响,并备份数据以防止意外数据丢失。

SQL Server 错误:无法添加约束

原文地址: https://www.cveoy.top/t/topic/kFhh 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录