将列长度限制为字符长度而不是字节长度



我使用 utf8mb4 数据库字符集并整理数据库作为utf8mb4_unicode_520_ci;我非常清楚某些字符每个字符最多可能需要4 个字节

在MariaDB中,有没有办法根据字符而不是字节来限制值?

例如,如果我想要求最大和最小字符数(对于页面的元描述之类的东西(,我只对字符长度感兴趣,我很清楚,如果每个字符都使用 4 个字节,我应该让列支持高达最大字节限制的四倍,并且列类型可能会(或可能不会(发挥作用。我显然可以用编程语言处理这个问题,尽管我想更好地熟悉数据库的这些方面。

VARCHAR(100) CHARACTER SET utf8mb4

限制为100个字符,而不是字节。 该示例最多需要400 个字节,外加一个 2 字节长度的字段。

要限制最低要求,需要一项CHECK条款。

最新更新