如何在 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}$'
我有 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}$'