我试图对字段“StaffAddress”进行正则表达式约束,使其只能以“Street”结尾。
这是我的尝试,但似乎仍然无效。我尝试了regexp '.*street$'和regexp 'street$',但两者都不允许我在表中添加“test street”。
CREATE TABLE MsStaff (
`StaffId` CHAR(4) PRIMARY KEY CHECK (`StaffId` regexp 'S[0-9][0-9][0-9]'),
`StaffName` VARCHAR(100) NOT NULL,
`StaffGender` VARCHAR(6) NOT NULL,
`StaffAddress` VARCHAR(100) NOT NULL CHECK ('StaffAddress' regexp '.*street$')
)
我正在使用10.4.19-MariaDB
2条答案
按热度按时间ogq8wdun1#
'StaffAddress' regexp '.*street$'
将始终返回false。列名必须用反引号引起来,而不是用单引号引起来。正确答案是:
nfg76nw02#
我认为你的问题是你在比较一个字符串,而不是一个列,你的正则表达式。
应为(不要忘记空格)