文章详情页
如何防止 MySQL 中纯数字数据的 Insert?
浏览:257日期: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. PHP中的$this代表当前的类还是方法?2. javascript - canvas压缩图片的原理是什么3. clone - git sourceTree克隆仓库时,都不停弹出Password Required弹窗,即时输入正确的git账号密码还是弹出4. 存储过程 - Mysql时间参数 问题5. css3 线性渐变实现间断线条效果6. python 函数名之后 有一个箭头 这是什么作用?7. java - 请教一个IO的问题8. javascript - 如何为大量的sprite添加碰撞检测框?9. 找不到emmet10. html5 - 请问一下写H5的时候 你们都是兼容那些手机
排行榜

网公网安备