文章詳情頁
如何防止 MySQL 中純數字數據的 Insert?
瀏覽:147日期: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. html5和Flash對抗是什么情況?2. phpadmin的數據庫,可以設置自動變化時間的變量嗎?就是不需要接收時間數據,自動變化3. 求救一下,用新版的phpstudy,數據庫過段時間會消失是什么情況?4. html - 爬蟲時出現“DNS lookup failed”,打開網頁卻沒問題,這是什么情況?5. mac里的docker如何命令行開啟呢?6. boot2docker無法啟動7. javascript - js 修改表格元素的,可以用DOM操作實現嗎?8. SublimeText3漢化版安裝9. mysql - 這句sql 為什么不能查詢出所有的 qdwyc_zlgs的信息,總是查出兩條?不是應該三條嗎?10. android - VideoView與百度Map沖突
排行榜
