跳到主要内容
内容阅读

在知识库中专注阅读,并随时返回相关工具与课程

ORA-02293常见约束

无法验证 - 违反检查约束

Cannot validate - check constraint violated

错误描述

启用检查约束失败,因为现有数据违反了约束条件。

可能原因

  • 现有行包含不满足 CHECK 条件的值
  • 在约束被禁用时加载了数据

解决方案

  1. 1在启用约束之前查找违反的行并修复
  2. 2使用 ENABLE NOVALIDATE 跳过现有数据的验证
  3. 3删除或更新违反约束的行

诊断命令

SELECT * FROM <table> WHERE NOT (<check_condition>);
SELECT constraint_name, search_condition FROM dba_constraints WHERE table_name = '<TABLE>' AND constraint_type = 'C';
#constraint#check#validate

同类错误码(约束)

想系统掌握这个领域?

「约束」在课程 Day 81-90 中有 10 篇完整实战教程

完整操作步骤真实截图踩坑总结
查看完整课程¥128/月起 · 解锁全部 2738+ 篇
ORA-02293: 无法验证 - 违反检查约束 - 原因与解决方案 | DBA 学习之路