Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 向“电话号码”列添加2个约束_Sql_Postgresql_Constraints_Psql - Fatal编程技术网

Sql 向“电话号码”列添加2个约束

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

我需要对现有表添加一个约束,以便电话号码只能是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_10

CHECK (phoneno ~ '^(\d{8}|\d{10})$');