任何人都可以帮助我编写查询,以在带有“%/%”的 BestFigure 列上添加约束,即它应为3/10格式。
请参考图片。
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'%/%'))
答案 0 :(得分:0)
我认为一个更好的解决方案是将两个图形分开存储,然后将它们组合:
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”是什么意思。