我们知道我们可以使用 mysql 处理正则表达式:
SELECT * FROM events WHERE id REGEXP '5587$'
但是,如果我希望某些列仅具有特定的正则表达式,例如:
我的 table 是这样的:
User MAC
MARK FE:4D:A2:F1:F2:F3
查询是:
INSERT INTO table (User, MAC) VALUES (Mike,mark)
由于我们注意到查询尝试插入不是 MAC 地址的 mark
,如何禁止这种情况或禁止任何不是 MAC 地址的插入?
注意:我使用 phpmyadmin 来管理我的数据库。
最佳答案
假设您使用INNOdb ,由于没有其他存储引擎支持约束,您可以添加 check constraint看起来像:
CHECK(mac RLIKE '^([0-9A-F]{2}:){6}$')
祝您好运,如果您需要进一步帮助,请发表评论。
关于mysql - 如果不匹配正则表达式,如何禁止在mysql中插入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25517677/