文章詳情頁
如何防止 MySQL 中純數(shù)字數(shù)據(jù)的 Insert?
瀏覽:92日期:2022-06-21 16:44:42
問題描述
比如我不希望 username 是純數(shù)字的,如果程序 insert 的數(shù)據(jù),username 是純數(shù)字的,就返回 mysql 數(shù)據(jù)格式錯誤,有這種功能嗎?
問題解答
回答1:通過儲存過程或者觸發(fā)器來實現(xiàn),但是這種邏輯最好還是由代碼層來控制
回答2:先說結論: 贊同LS的觀點,一般會寫在程序里面做驗證,數(shù)據(jù)庫只做基礎的比如unique這些的約束
如果真的要在數(shù)據(jù)庫做的話,一般會寫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:程序邏輯問題都不應該交給數(shù)據(jù)庫去處理,或者應該把它作為最后的驗證防線。
回答4:在提交前或者提交時就檢測。
回答5:這種基礎驗證也放在數(shù)據(jù)庫里來做,這不是給數(shù)據(jù)庫徒增壓力么?大家都在給它減負
相關文章:
1. docker-machine添加一個已有的docker主機問題2. golang - 用IDE看docker源碼時的小問題3. docker images顯示的鏡像過多,狗眼被亮瞎了,怎么辦?4. docker網絡端口映射,沒有方便點的操作方法么?5. docker - 如何修改運行中容器的配置6. debian - docker依賴的aufs-tools源碼哪里可以找到啊?7. docker綁定了nginx端口 外部訪問不到8. docker 下面創(chuàng)建的IMAGE 他們的 ID 一樣?這個是怎么回事????9. docker-compose中volumes的問題10. node.js - nodejs debug問題
排行榜

熱門標簽