如何在 mysql 中插入 phone 数字的检查约束?

How to insert check constraint for phone number in mysql?

我有 table 个客户,我希望 phone 号码具有以下形式 '+906924679833' 但每当我插入类似的内容时,我都会得到 'Check constraint '。 ..'被侵犯'.

CREATE TABLE customer
(
    AFM int(30) not null,
    name varchar(30),
    surname varchar(30),
    phone char(13) not null,
    address varchar(30),
    DOY varchar(4),
    constraint chk_phone check (REGEXP_LIKE(phone, '^\+\d{12}$')),
    PRIMARY KEY(AFM)
);

我想插入以下值

INSERT INTO customer (AFM, name, surname, phone, address, DOY)
VALUES
   (1023452569, 'Charlie', 'Hunnam', '+306943625956', 'California', 'A');

谢谢!!!

对数字使用更简单的构造,[0-9],并以适当的方式转义加号,或者我 - 如果有疑问 - 将其放入括号表达式中:

'^[+][0-9]{12}$'