我不确定下面有什么问题:
ALTER TABLE `my_bookmarks` ADD CONSTRAINT id_length CHECK (LENGTH(bookmark_id) = 36);
目的:我想在主键中使用GUID数据 - bookmark_id。 上面的SQL运行成功,并且数据库中没有添加约束。
SHOW CREATE TABLE不显示正文中的约束。此外,上面的查询运行多次(我希望第二次尝试时出错,因为重复索引名称)。我的数据库是MariaDB 10。
答案 0 :(得分:0)
我猜你使用版本低于10.2.1的MariaDB。您可以通过以下方式轻松检查:
SELECT VERSION();
从MariaDB 10.2.1开始,强制执行约束。 在MariaDB 10.2.1约束表达式在语法中被接受但被忽略之前。
我建议将您的数据库升级到更新的版本。
<强> DBFiddle Demo 强>