Sql 向“电话号码”列添加2个约束
我需要对现有表添加一个约束,以便电话号码只能是10位移动电话号码或8位固定电话号码(没有空格或区号) 这是我尝试过的代码:Sql 向“电话号码”列添加2个约束,sql,postgresql,constraints,psql,Sql,Postgresql,Constraints,Psql,我需要对现有表添加一个约束,以便电话号码只能是10位移动电话号码或8位固定电话号码(没有空格或区号) 这是我尝试过的代码: ALTER TABLE people ADD CONSTRAINT digit_phoneno_8_10 CHECK (phoneno ~ '^[0-9]{8,10}$'); 这允许9位数的电话号码,我想排除这一点。要准确地执行n位数或m位数,您需要使用交替|操作员: ALTER TABLE people ADD CONSTRAINT digit_phoneno_8
ALTER TABLE people
ADD CONSTRAINT digit_phoneno_8_10
CHECK (phoneno ~ '^[0-9]{8,10}$');
这允许9位数的电话号码,我想排除这一点。要准确地执行
n
位数或m
位数,您需要使用交替|
操作员:
ALTER TABLE people
ADD CONSTRAINT digit_phoneno_8_10
CHECK (phoneno ~ '^(\d{8}|\d{10})$');