<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                MySQL 出錯時反饋的代碼代表出錯的原因,我們只有明白這些代碼代表的意思,才能了解 MySQL 數據庫的錯誤,找出原因,解決問題。下面介紹 MySQL 服務器和客戶端中的錯誤代碼、提示消息的生成方式和查看方法,最后還對 MySQL 中常見的錯誤代碼做了詳細說明。 ## MySQL服務器端錯誤代碼和消息 MySQL 是根據安裝目錄下 share 中的 errmsg.txt 文件來生成 include 下 mysqld\_error.h 和 mysqld\_ername.h 中的錯誤定義的。另外,SQLSTATE 的值也是根據 share 下 errmsg.txt 文件中的內容來生成 include 下的 sql\_state.h 的。 默認情況下,服務器出錯代碼都是以 1 開頭的,例如“1004 SQLSTATE: HY000 (ER\_CANT\_CREATE\_FILE)”,該消息的錯誤代碼為 1004,表示“無法創建文件”。 errmsg.txt 文件的部分內容如下: ~~~ #define ER_NO_SUCH_TABLE 1146 "Table '%-.64s.%-.64s' doesn't exist", #define ER_NONEXISTING_TABLE_GRANT 1147 "There is no such grant defined for user '%-.32s' on host '%-.64s' on table '%-.64s'", #define ER_NOT_ALLOWED_COMMAND 1148 "The used command is not allowed with this MySQL version", #define ER_SYNTAX_ERROR 1149 "You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use", #define ER_DELAYED_CANT_CHANGE_LOCK 1150 "Delayed insert thread couldn't get requested lock for table %-.64s", #define ER_TOO_MANY_DELAYED_THREADS 1151 "Too many delayed threads in use", ~~~ 文件中包含的`%d`和`%ld`代表數值,`%s`代表字符串。顯示具體信息時,它們將被消息值取代。 例如,錯誤代碼為 1146 的錯誤信息在 share 下的 errmsg.txt 中顯示為“Table '%-.192s.%-.192s' doesn't exist",即“表' '%-.192s.%-.192s"不存在”。其中“%-.192s”可表示左對齊 192 個字符寬度,可理解為此處輸出為占位字符串,在顯示具體信息時回避字符串消息替換。 #### 例 1 切換 test 數據庫,查詢數據庫下有哪些數據表,SQL 語句和執行過程如下: ~~~ mysql> USE test; Database changed mysql> SHOW tables; +-------------------+ | Tables_in_test | +-------------------+ | tb_eventtest | | tb_student | | tb_student2 | | tb_student3 | | tb_student_course | | tb_students_info | +-------------------+ 6 rows in set (0.01 sec) ~~~ 查詢數據表 tb\_student 中的記錄,SQL 語句和執行過程如下: ~~~ mysql> SELECT * FROM tb_student; +----+--------+ | id | name | +----+--------+ | 1 | Java | | 2 | MySQL | | 3 | Python | +----+--------+ 3 rows in set (0.06 sec) ~~~ 查詢數據表 tb\_oldstudent 中的記錄,SQL 語句和運行結果如下: mysql> SELECT \* FROM tb\_oldstudent; ERROR 1146 (42S02): Table 'test.tb\_oldstudent' doesn't exist 由結果可以看出,在 test 數據庫中不存在 tb\_oldstudent 數據庫,服務器錯誤代碼為 1146。 ## MySQL客戶端錯誤代碼和消息 MySQL 是根據安裝目錄下 include 中的 errmsg.h 文件來生成錯誤代碼的。 errmsg.h 文件的部分內容如下: ~~~ #define CR_NAMEDPIPESETSTATE_ERROR 2018 #define CR_CANT_READ_CHARSET 2019 #define CR_NET_PACKET_TOO_LARGE 2020 #define CR_EMBEDDED_CONNECTION_2021 #define CR_PROBE_SLAVE_STATUS 2022 #define CR_PROBE_SLAVE_HOSTS 2023 #define CR_PROBE_SLAVE_CONNECT 2024 #define CR_PROBE_MASTER_CONNECT 2025 #define CR_SSL_CONNECTION_ERROR 2026 #define CR_MALFORMED_PACKET 2027 #define CR_WRONG_LICENSE 2028 ~~~ 文件中`%d`和`%s`分別代表數值和字符串,和服務器端錯誤代碼顯示方式一樣,在顯示時它們將被消息值取代。 默認情況下,客戶端出錯代碼都是以 2 開頭的,例如錯誤代碼為 2025(CR\_PROBE\_MASTER\_CONNECT)的,表示連接到主服務器時出錯。 ## 常見錯誤代碼 常見的服務器錯誤代碼及說明如下表所示: | 錯誤代碼 | 說? 明 | | --- | --- | | 1004 | 無法創建文件 | | 1005 | 無法創建數據表、創建表失敗 | | 1006? | 無法創建數據庫、創建數據庫失敗 | | 1007 | 無法創建數據庫,數據庫己存在 | | 1008? | 無法刪除數據庫,數據庫不存在 | | 1009 | 不能刪除數據庫文件導致刪除數據庫失敗 | | 1010? | 不能刪除數據目錄導致刪除數據庫失敗 | | 1011 | 刪除數據庫文件時出錯 | | 1012 | 無法讀取系統表中的記錄 | | 1013 | 無法獲取的狀態 | | 1014 | 無法獲得工作目錄 | | 1015 | 無法鎖定文件 | | 1016 | 無法打開文件 | | 1017 | 無法找到文件 | | 1018 | 無法讀取的目錄 | | 1019 | 無法為更改目錄 | | 1020 | 記錄已被其它用戶修改 | | 1021 | 硬盤剩余空間不足,請加大硬盤可用空間 | | 1022 | 關鍵詞重讀,更改記錄失敗 | | 1023 | 關閉時發生錯誤 | | 1025 | 更改名字時發生錯誤 | | 1032 | 記錄不存在 | | 1036 | 數據表是只讀的,不能對它進行修改 | | 1037 | 系統內存不足,請重啟數據庫或重啟服務器 | | 1042 | 無效的主機名 | | 1044 | 當前用戶沒有訪問數據庫的權限 | | 1045 | 不能連接數據庫,用戶名或密碼錯誤 | 常見的客戶端錯誤代碼及說明如下所示: | 錯誤代碼 | 說? 明 | | --- | --- | | 2000 | 未知 MySQL 錯誤 | | 2001 | 不能創建 UNIX 套接字(%d) | | 2002 | 不能通過套接字“ %s”(%d)連接到本地 MySQL 服務器, self 服務未啟動 | | 2003 | 不能連接到 %s ”(%d )上的 MySQL 服務器,未啟動 mysql 服務 | | 2004 | 不能創建 TCP/IP 接字(%d) | | 2005 | 未知的 MySQL 服務器主機“ %s”(%d) | | 2007 | 協議不匹配,服務器版本=%d,客戶端版本=%d | | 2008 | MySQL 客戶端內存溢出 | | 2009 | 錯誤的主機信息 | | 2010 | 通過 UNIX 套接字連接的本地主機 | | 2012 | 服務器握手過程中出錯 | | 2013 | 查詢過程中丟失了與 SQL 服務器的連接 | | 2014 | 命令不同步,現在不能運行該命令 | | 2024 | 連接到從服務器時出錯 | | 2025 | 連接到主服務器時出錯 | | 2026 | SSL 連接錯誤 |
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看