MySQL 普通註冊插入最佳化。

來源:互聯網
上載者:User

標籤:機制   mysq   註冊   nbsp   socket   sock   流程   刪除資料庫   解釋   

普通做法是:

使用者通過手機號註冊。預設是根據這個手機號去使用者表裡查詢,看有沒有這個手機號,有那麼就提示登入。否則就執行註冊插入資料庫操作。這裡其實正常註冊流程是兩次資料庫操作的(查詢,插入);

最佳化做法:

手機號設定為唯一索引。直接執行插入操作。這裡利用了MySQL的報錯機制;如果插入的手機號 跟資料庫裡的有重複,那麼調用MySQL方法mysql_errno() 可以看到是是1062;1062 代表插入的手機號資料庫裡已經存在。插入失敗。這樣就可以知道。資料庫裡是否已經有這個使用者了。只操作了一次插入操作;

 附 mysql_errno部分常用 錯誤碼解釋

1005: 建立表失敗1006: 建立資料庫失敗1007: 資料庫已存在,建立資料庫失敗1008: 資料庫不存在,刪除資料庫失敗1009: 不能刪除資料庫檔案導致刪除資料庫失敗1010: 不能刪除資料目錄導致刪除資料庫失敗1011: 刪除資料庫檔案失敗1012: 不能讀取系統資料表中的記錄1016: 無法開啟檔案1020:記錄已被其他使用者修改1021:硬碟剩餘空間不足,請加大硬碟可用空間1022:關鍵字重複,更改記錄失敗1023:關閉時發生錯誤1024:讀檔案錯誤1025:更改名字時發生錯誤1026:寫檔案錯誤1032:記錄不存在1036:資料表是唯讀,不能對它進行修改1037:系統記憶體不足,請重啟資料庫或重啟伺服器1038:用於排序的記憶體不足,請增大排序緩衝區1040:已到達資料庫的最大串連數,請加大資料庫可用串連數1041:系統記憶體不足1042:無效的主機名稱1043:無效串連1044:目前使用者沒有訪問資料庫的許可權1045:不能串連資料庫,使用者名稱或密碼錯誤1040: 最大串連數1048:欄位不可為空1049:資料庫不存在1050:資料表已存在1051:資料表不存在1054:欄位不存在1065:無效的SQL語句,SQL語句為空白1081:不能建立Socket串連1114:資料表已滿,不能容納任何記錄1116:開啟的資料表太多1129:資料庫出現異常,請重啟資料庫1130:串連資料庫失敗,沒有串連資料庫的許可權1133:資料庫使用者不存在1141:目前使用者無權訪問資料庫1142:目前使用者無權訪問資料表1143:目前使用者無權訪問資料表中的欄位1146:資料表不存在1147:未定義使用者對資料表的存取權限1149:SQL語句語法錯誤1158:網路錯誤,出現讀錯誤,請檢查網路連接狀況1159:網路錯誤,讀逾時,請檢查網路連接狀況1160:網路錯誤,出現寫錯誤,請檢查網路連接狀況1161:網路錯誤,寫逾時,請檢查網路連接狀況1062:欄位值重複,入庫失敗

MySQL 普通註冊插入最佳化。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.