Timo Treichel Asked: 2024-02-23 21:08:03 +0800 CST2024-02-23 21:08:03 +0800 CST 2024-02-23 21:08:03 +0800 CST MariaDB 10.1.48 中的检查约束不起作用 772 我有下表: CREATE TABLE t1 ( a INT, b INT, CONSTRAINT a_greater CHECK (a>b) ); 所以,a一定大于b。执行此插入时,它不应该起作用: insert into t1(a,b) values (4,5); 不过,我可以运行该声明。 数据库版本:10.1.48-MariaDB-0+deb9u2 我知道,我可以通过触发器来实现这一点,但这需要太多的努力,只是为了完成检查约束实际应该完成的事情。 是否存在错误或者可能是由于任何错误的配置造成的?什么可能导致此行为以及如何修复它? mariadb 1 个回答 Voted Best Answer harrymc 2024-02-23T21:16:57+08:002024-02-23T21:16:57+08:00 MariaDB CONSTRAINT 章节有这样的声明: 在 MariaDB 10.2.1 之前,约束表达式在语法中被接受但被忽略。 您的 MariaDB 10.1.48 版本太早,因此 CONSTRAINT 子句在语法上进行了验证,但在其他方面被忽略。 您需要升级MariaDB,当前版本是 2024年2月起的11.4.1。
MariaDB CONSTRAINT 章节有这样的声明:
您的 MariaDB 10.1.48 版本太早,因此 CONSTRAINT 子句在语法上进行了验证,但在其他方面被忽略。
您需要升级MariaDB,当前版本是 2024年2月起的11.4.1。