[我正在尝试在MariaDB中进行约束,以检查每个插入片段均具有以下格式:'+ mm:ss'(因为它与赛车有关,只是为了检查与第一名的区别。]
我已经尝试过,但是正如我所看到的,它给了我一个错误(“错误”,没有从regexp的偏移量1处重复“),因为'+'字符未正确转义。这是我尝试过的代码。
create table prueba
(
prueba VARCHAR(8),
constraint pk primary key (prueba),
CONSTRAINT distanciaok CHECK(prueba REGEXP '^\+[0-9]{2}:[0-9]{2}$'));
这里有DBFiddle进行检查。
为了使实际的反斜杠文字包含在字符串中,您必须使用另一个反斜杠对反斜杠进行转义:
create table prueba
(
prueba VARCHAR(8),
constraint pk primary key (prueba),
CONSTRAINT distanciaok CHECK(prueba REGEXP '^\\+[0-9]{2}:[0-9]{2}$'));