文章詳情頁
使用PHP和MySQL的UNIQUE如何像京東注冊那樣保證用戶名唯一?
瀏覽:139日期:2022-06-10 18:16:42
問題描述
我認為這么快的判斷用戶名重復是通過設置用戶名字段UNIQUE,然后寫入捕獲異常來實現(xiàn)的。但我嘗試了一下,發(fā)現(xiàn)實際操作起來并沒有那么簡單,如果要求用戶名唯一就去寫表看異常,如果重復了可以返回false,但成功的話寫入的數(shù)據(jù)是不完整的,我們真正需要的是將用戶提交的注冊信息一起寫表,我想了一下,這個操作只能通過事務來實現(xiàn)了,通過事務只要不commit,就不會真正的寫表,但我們已經(jīng)得知了表中的這條數(shù)據(jù)是否沖突,不知我的理解對不對。或者是通過其他的方式來實現(xiàn)的。通過select查詢判斷對于大量數(shù)據(jù)來說不合適吧?
問題解答
回答1:一般不是前端輸入完后ajax會去做查詢的么?提交的時候插庫前再查一遍,做個unique保險一點。
回答2:根據(jù)用戶輸入的名字到數(shù)據(jù)庫查一下就ok了,有結果就提示已占用,沒有結果才能用,如果錄入其他信息期間被人先行提交占用再提示被占用就ok了,提示話術斟酌一下即可,這樣的概率很低并且也可以接受
回答3:到數(shù)據(jù)庫查吧
標簽:
京東
相關文章:
1. docker網(wǎng)絡端口映射,沒有方便點的操作方法么?2. css - chrome下a標簽嵌套img 顯示會多個小箭頭?3. vim - docker中新的ubuntu12.04鏡像,運行vi提示,找不到命名.4. javascript - 網(wǎng)頁打印頁另存為pdf的代碼一個問題5. java中返回一個對象,和輸出對像的值,意義在哪兒6. mysql - 在不允許改動數(shù)據(jù)表的情況下,如何優(yōu)化以varchar格式存儲的時間的比較?7. css3 - 純css實現(xiàn)點擊特效8. javascript - 關于apply()與call()的問題9. javascript - 有適合開發(fā)手機端Html5網(wǎng)頁小游戲的前端框架嗎?10. docker start -a dockername 老是卡住,什么情況?
排行榜

熱門標簽