MariaDB 10.1.48 中的检查约束不起作用 2024-12-3 • mariadb 我有下表: 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 我知道,我可以用触发器来实现这一点,但这太费力了,只是为了做 CHECK-Constraint 实际上应该做的事情。 是否存在错误,或者可能是由于配置错误导致的?什么原因导致了此行为?我该如何修复它? 答案1 MariaDB约束 章节中有这样的陈述: 在 MariaDB 10.2.1 之前,约束表达式在语法中被接受但被忽略。 您的 MariaDB 10.1.48 版本太早,因此 CONSTRAINT 子句在语法上经过验证,但在其他方面被忽略。 您需要升级 MariaDB,当前版本是 11.4.1从 2024 年 2 月开始。 相关内容 textrm 不显示某些字符 `/proc/interrupts` 中的定时器中断计数更新非常慢并且非常小 如何让终端在 su 中显示 root 提示符 即使 E_ALL 已打开,php 也不会报告错误 在 Nginx 中的两个端口上配置同一服务器中的两个应用程序 如何提高数据恢复和扫描文件的完整性? 在文件的特定行中插入文本?有特殊字符的 使用本地磁盘作为暂存区将文件从一个磁盘复制到另一个磁盘 Regedit 可以编辑的最大 REG_SZ 值是多少? 帮帮我!提取分区表 GPT