【问题标题】:Adding 2 constraints to phone number column向电话号码列添加 2 个约束
【发布时间】:2020-11-28 23:53:53
【问题描述】:

我需要在现有表中添加一个约束,以便电话号码只能是 10 位手机号码或 8 位固定电话号码(没有空格或区号)。

这是我尝试过的代码:

ALTER TABLE people

ADD CONSTRAINT digit_phoneno_8_10

CHECK (phoneno ~ '^[0-9]{8,10}$');

这允许 9 位数的电话号码,我想排除它。

【问题讨论】:

    标签: sql postgresql constraints psql


    【解决方案1】:

    要精确地处理n 数字或精确地m 数字,您需要使用交替| 运算符:

    ALTER TABLE people
    
    ADD CONSTRAINT digit_phoneno_8_10
    
    CHECK (phoneno ~ '^(\d{8}|\d{10})$');
    

    【讨论】:

      猜你喜欢
      • 2016-07-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-07-08
      • 1970-01-01
      • 1970-01-01
      • 2016-01-17
      • 1970-01-01
      相关资源
      最近更新 更多