SQLite 固定大小 varchar 长度检查可能是多余的?
SQLite fixed size varchar length check possibly redundant?
先来看看下面的table:
create table SOME_TABLE_NAME(
Column varchar(3) primary key check(
Column glob'[A-Z][A-Z][A-Z]'
and length(Column) = 3)
);
在我们的 create 语句中,我们说我们的 Column
最多包含不超过几个字符。通过 glob 我们检查所有 3 个字符都是字母。我们还需要检查它的长度是 3 还是长度检查是多余的?
提前致谢!
COLUMN GLOB '[A-Z][A-Z][A-Z]'
子句已经断言主键正好由三个字母组成,因此在其上添加显式长度检查是多余的。
先来看看下面的table:
create table SOME_TABLE_NAME(
Column varchar(3) primary key check(
Column glob'[A-Z][A-Z][A-Z]'
and length(Column) = 3)
);
在我们的 create 语句中,我们说我们的 Column
最多包含不超过几个字符。通过 glob 我们检查所有 3 个字符都是字母。我们还需要检查它的长度是 3 还是长度检查是多余的?
提前致谢!
COLUMN GLOB '[A-Z][A-Z][A-Z]'
子句已经断言主键正好由三个字母组成,因此在其上添加显式长度检查是多余的。