sqlite 匹配值开头的约束

2skhul33  于 2023-10-23  发布在  SQLite
关注(0)|答案(1)|浏览(165)

我们将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语句。

c2e8gylq

c2e8gylq1#

这是约束的正确语法:

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

参见demo

相关问题