指定SQL表数据类型的选项 - sqlite

时间:2018-01-14 15:38:50

标签: sql sqlite sql-types

我正在设置一个表,其中一个要求是列应该是“性别”,它接受的数据应该是“M”或“F”。我该如何指定这个条件?

CREATE TABLE bears (
  id INTEGER PRIMARY KEY,
  name TEXT,
  age INTEGER,
  gender ("M" or "F")
)

1 个答案:

答案 0 :(得分:2)

一个简单的方法是check约束:

create table t as (
    . . .,
    gender char(1) not null,
    constraint chk_t_gender check (gender in ('M', 'F'))
);

请注意,SQLite会忽略字符类型上的(1),但check约束会强制执行长度。以这种方式编写,代码遵循标准SQL。