是否可以使用正则表达式在 MySQL 中强制执行数据检查?
是的,可以使用正则表达式在MySQL中强制执行数据检查。首先,您需要创建一个表。之后,您需要在插入表之前创建一个触发器。在这里,我们将检查号码格式。
创建表的查询如下
mysql> create table enforceDataUsingRegularExpression - > ( - > yourPhoneNumber varchar(60) - > );
创建触发器的查询如下
mysql> DELIMITER //
mysql> CREATE TRIGGER enforce_phone_check BEFORE INSERT ON enforceDataUsingRegularExpression
- > FOR EACH ROW
- > BEGIN
- > IF (NEW.yourPhoneNumber REGEXP '^(\\+?[0-9]{1,4}-)?[0-9]{3,10}$' ) = 0 THEN
- > SIGNAL SQLSTATE '33455'
- > SET MESSAGE_TEXT = 'Your Phone Number is incorrect';
- > END IF;
- > END //
mysql> DELIMITER ;现在看看在表中插入记录以使用正则表达式在MySQL中强制数据检查时的错误
mysql> insert into enforceDataUsingRegularExpression values("+55242-64576");
ERROR 1644 (33455): Your Phone Number is incorrect
mysql> insert into enforceDataUsingRegularExpression values("+76-WD1232221");
ERROR 1644 (33455): Your Phone Number is incorrect
Now inserting the correct data i.e. the correct phone, which is as follows:
mysql> insert into enforceDataUsingRegularExpression values("+55-1232221");使用select语句显示表中的所有记录。
查询如下
mysql> select *from enforceDataUsingRegularExpression;
以下是输出
+-----------------+ | yourPhoneNumber | +-----------------+ | +55-1232221 | +-----------------+ 1 row in set (0.00 sec)
热门推荐
10 香港老妈结婚祝福语简短
11 毕业立体贺卡祝福语简短
12 简短新年年会祝福语
13 评论小品祝福语大全简短
14 恭喜师兄结婚祝福语简短
15 员工集体辞职祝福语简短
16 高中新生祝福语 简短
17 装修祝福语男生搞笑简短
18 生日开业蛋糕祝福语简短