добавление ограничений в столбец - PullRequest
0 голосов
/ 25 ноября 2018

Может ли кто-нибудь помочь мне с написанием запроса для добавления ограничения на BestFigure столбец с "% /%", то есть он должен быть в формате 3/10.

Пожалуйста, обратитесь к изображению.

Image Link

create table Player(
Player_No int Identity(1,1) Primary Key, Player_Name Varchar(20) Not null,
Category Varchar(20) check (Category='batsman' or Category='bowler' or Category='Allrounder'),
BestFigure Varchar(10) check (Bestfigure like'%/%'))

1 Ответ

0 голосов
/ 25 ноября 2018

Я думаю, что лучшее решение - хранить две цифры отдельно и затем объединять их:

BestFigure_left int,
BestFigure_right int,
BestFigure varchar(10) generated always as (concat(BestFigure_Left, '/', BestFigure_Right))

На самом деле MySQL не применяет проверочные ограничения (именно поэтому необходим триггер).Если бы это было так, вы бы сделали:

BestFigure Varchar(10) check (Bestfigure regexp '^[0-9]{1,3}/[0-9]{1,6}$')

или что-то в этом роде.Мне непонятно, что означают «3» и «10» в вашем описании.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...