DBAtlas · 数据库运维图谱

23514: check_violation

PostgreSQL

含义

违反了 CHECK 约束。插入或更新的行不满足表上定义的逻辑条件(如 price > 0)。

原因

违反业务规则的数据(负价格、无效状态码、违反日期范围);应用端没有校验;约束相对数据过于严格;批量加载期间存在违反规则的记录。

解决方法

根据错误消息中的约束名找出被违反的条件;查看定义:\d table_name。将条件取反来查询违规的行。修正数据;如果规则确实已变更,更新约束:ALTER TABLE my_table DROP CONSTRAINT name; ALTER TABLE my_table ADD CONSTRAINT name CHECK (new_condition);

在 DBAtlas 中打开 →

同一数据库的其他条目