我的学校有一项创建数据库的任务。在这个DB中,我必须创建一个名为person的表,该表具有一些属性(country,personalnumber,name等)。
创建数据库时,我必须确保个人号码应具有以下格式:XXXXXXXX-XXXX
其中X
是0到9之间的数字。
我试过这样做:
ALTER TABLE person
ADD CONSTRAINT persondigits CHECK
(personalNumber LIKE '________-____' )
AND personalnumber IN ('0','1','2','3','4','5','6','7','8','9','-')
其中personalnumber
类型为varchar
,但这不起作用。
我尝试了很多其他CHECK
但仍然没有工作。
答案 0 :(得分:0)
在~
约束中使用display connection CPU and RAM usage或CHECK
运算符SIMILAR TO
expression。
答案 1 :(得分:0)
在PostgreSQL中,您可以使用SIMILAR TO这样的模式:
CREATE TABLE person (
personal_number CHAR(13) CHECK (personal_number SIMILAR TO '[0-9]{8}-[0-9]{4}')
);