文章详情页
如何防止 MySQL 中纯数字数据的 Insert?
浏览:44日期:2022-06-21 16:44:42
问题描述
比如我不希望 username 是纯数字的,如果程序 insert 的数据,username 是纯数字的,就返回 mysql 数据格式错误,有这种功能吗?
问题解答
回答1:通过储存过程或者触发器来实现,但是这种逻辑最好还是由代码层来控制
回答2:先说结论: 赞同LS的观点,一般会写在程序里面做验证,数据库只做基础的比如unique这些的约束
如果真的要在数据库做的话,一般会写trigger
然后貌似还有add constraint check,但是mysql里面即使支持这个东西,也不会在存储之前做检查(all engines)
http://stackoverflow.com/questions/16005283/is-it-possible-to-enforce-data-checking-in-mysql-using-regular-expression
回答3:程序逻辑问题都不应该交给数据库去处理,或者应该把它作为最后的验证防线。
回答4:在提交前或者提交时就检测。
回答5:这种基础验证也放在数据库里来做,这不是给数据库徒增压力么?大家都在给它减负
相关文章:
排行榜