集合类型
seekdb 支持集合类型 SET。SET 是一个字符串对象,它可以有零个或多个值,每个值都必须来自列表 '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 成员值中删除尾部空格。