文章詳情頁
使用PHP和MySQL的UNIQUE如何像京東注冊那樣保證用戶名唯一?
瀏覽:113日期:2022-06-10 18:16:42
問題描述
我認為這么快的判斷用戶名重復是通過設置用戶名字段UNIQUE,然后寫入捕獲異常來實現的。但我嘗試了一下,發現實際操作起來并沒有那么簡單,如果要求用戶名唯一就去寫表看異常,如果重復了可以返回false,但成功的話寫入的數據是不完整的,我們真正需要的是將用戶提交的注冊信息一起寫表,我想了一下,這個操作只能通過事務來實現了,通過事務只要不commit,就不會真正的寫表,但我們已經得知了表中的這條數據是否沖突,不知我的理解對不對?;蛘呤峭ㄟ^其他的方式來實現的。通過select查詢判斷對于大量數據來說不合適吧?
問題解答
回答1:一般不是前端輸入完后ajax會去做查詢的么?提交的時候插庫前再查一遍,做個unique保險一點。
回答2:根據用戶輸入的名字到數據庫查一下就ok了,有結果就提示已占用,沒有結果才能用,如果錄入其他信息期間被人先行提交占用再提示被占用就ok了,提示話術斟酌一下即可,這樣的概率很低并且也可以接受
回答3:到數據庫查吧
標簽:
京東
相關文章:
1. html5 - 只用CSS如何實現input框的寬度隨框里輸入的內容長短自動適應?2. 人工智能 - python 機器學習 醫療數據 怎么學3. mysql - 分庫分表、分區、讀寫分離 這些都是用在什么場景下 ,會帶來哪些效率或者其他方面的好處4. Python爬蟲如何爬取span和span中間的內容并分別存入字典里?5. javascript - 關于css絕對定位在ios瀏覽器被橡皮筋遮擋的問題6. c++ - 請問MySQL_Connection::isReadOnly 怎么解決?7. css3 - 微信前端頁面遇到的transition過渡動畫的bug8. python - beautifulsoup獲取網頁內容的問題9. python - Django內使用filter過濾時間,只認年份不認月份是怎么回事?10. python - 能通過CAN控制一部普通的家用轎車嗎?
排行榜
