【问题标题】:MariaDB CHECK constraint in VARCHARVARCHAR 中的 MariaDB CHECK 约束
【发布时间】:2017-12-02 07:26:37
【问题描述】:

我不确定下面有什么问题:

ALTER TABLE `my_bookmarks` ADD CONSTRAINT id_length CHECK (LENGTH(bookmark_id) = 36);

目的:我想要一个GUID 数据在我的主键-bookmark_id 中。 上面的SQL运行成功,数据库中没有添加约束。

SHOW CREATE TABLE 不会在正文中显示约束。此外,上面的查询运行多次(我预计第二次尝试错误,因为索引名称重复)。我的数据库是 MariaDB 10。

【问题讨论】:

    标签: mysql sql constraints mariadb check-constraints


    【解决方案1】:

    我猜你使用的 MariaDB 版本低于 10.2.1。您可以通过以下方式轻松检查:

    SELECT VERSION();
    

    来自documentation

    从 MariaDB 10.2.1 开始,强制执行约束。 在 MariaDB 10.2.1 之前,约束表达式在语法中被接受但被忽略。

    我建议将您的数据库升级到新版本。

    DBFiddle Demo

    【讨论】:

    • 感谢您的指点。可能是这样。我的版本似乎有点旧。
    猜你喜欢
    • 1970-01-01
    • 2020-05-24
    • 2021-12-20
    • 2022-01-11
    • 2023-03-21
    • 1970-01-01
    • 1970-01-01
    • 2023-01-31
    • 1970-01-01
    相关资源
    最近更新 更多