文章详情页
如何防止 MySQL 中纯数字数据的 Insert?
浏览:159日期: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:这种基础验证也放在数据库里来做,这不是给数据库徒增压力么?大家都在给它减负
相关文章:
1. MYSQL新建用户设置可以远程访问的问题2. python - 求一个在def中可以实现调用本def满足特定条件continue效果的方法(标题说不太清楚,请见题内描述)3. golang - 用IDE看docker源码时的小问题4. mysql - SQL操作时间的函数?5. docker网络端口映射,没有方便点的操作方法么?6. 关docker hub上有些镜像的tag被标记““This image has vulnerabilities””7. 正则表达式 - python pandas的sep参数问题8. javascript - ionic run android报错9. javascript - 用表单提交两个时间段请求后台返回对应数据时出现的一些问题!10. docker内创建jenkins访问另一个容器下的服务器问题
排行榜
