跳到主要内容

集合类型

seekdb 支持集合类型 SETSET 是一个字符串对象,它可以有零个或多个值,每个值都必须来自列表 'value1', 'value2', ...

SET 为可变长度类型,支持 UTF8MB4 字符集。

SET 的语法如下:

SET('value1','value2',...) [CHARACTER SET charset_name] [COLLATE collation_name]

SET 值在内部表示为整数。一个 SET 列最多定义 64 个元素,每个元素长度最多 255 个字符。由多个集合元素组成的 SET 列值用逗号 (,) 分隔。

例如,SET('a', 'b') NOT NULL 的列可以具有以下值:

' '
'a'
'b'
'a,b'

CHARACTER SET 用于指定字符集。如果需要,可以使用 COLLATE 属性以及其他属性指定字符集的排序规则。

SET 值以数字方式存储,存储值的低位对应于第一个集合元素。SET 值按数字排序。NULL 值排在非 NULL 值之前。如果启用了严格的 SQL 模式,定义重复值会导致警告或错误。创建表时,会自动从表定义中的 SET 成员值中删除尾部空格。