首页 > 解决方案 > Postgresql 模式检查约束

问题描述

我有一个 uni 项目,我想知道如何制定一个检查字符串确切格式的约束。到目前为止,我所有的尝试都失败了。最新版本的代码是

CREATE TABLE study_courses(
course_id serial PRIMARY KEY NOT NULL,
course_title VARCHAR(55) NOT NULL,
course_code VARCHAR(8) NOT NULL CHECK(course_code LIKE '[A-Z][A-Z][A-Z][A-Z][0-9][0-9][0-9][0-9]'),
credit_points INT);

course_code 应该匹配 XXXX0000 的模式我的数据库中有另一个字段,需要匹配 XX00000 的模式,我试过类似

matriculation_number VARCHAR(7) NOT NULL CHECK (MatriculationNumber SIMILAR TO '[A-Z]{2}[0-9]{5}')

它也不起作用。

有什么解决办法吗?

标签: regexpostgresqlcheck-constraints

解决方案


推荐阅读