CHECK 约束匹配值的开头

问题描述 投票:0回答:1

我们使用 sqlite3 作为数据库,并确保将值插入到与特定字符串匹配的列中,这在我们的情况下很有用。

示例:

CREATE TABLE people ("firstname" TEXT),
CHECK(LIKE('ca%',"firstname"));

我们看到的错误是sqlite3给出了这个错误:

Parse error: near "CHECK": syntax error
  CREATE TABLE people ("firstname" TEXT), CHECK(LIKE('ca%',"firstname"));
                            error here ---^

我们希望一切顺利:

INSERT INTO people VALUES ('Callie');

但这不行:

INSERT INTO people VALUES ('Erik');

在 sqlite3 中可以进行检查吗?有 LIKE 但每个人似乎只提到 SELECT 语句。

sqlite constraints
1个回答
0
投票

这是约束的正确语法:

CREATE TABLE people (
  firstname TEXT,
  CHECK (firstname LIKE 'ca%')
);

查看演示

© www.soinside.com 2019 - 2024. All rights reserved.