天天看點

mysql錯誤代碼13_Mysql常見的13個錯誤碼講解

6)24 Can't open file (Too many open files)

open_files_limit是個系統的設定,table_open_cache必須比系統的這個配置小

7)1062 - Duplicate Entry

這個錯誤通常有以下幾個原因 1. 主鍵限制,Error Code: 1062. Duplicate entry ‘12’ for key ‘PRIMARY’,主鍵限制的資料必須是唯一的,解決的方法之一是設定主鍵是自增的,這樣,插入資料時,設定主鍵的資料為NULL。 2. 唯一屬性限制,Error Code: 1062. Duplicate entry ‘A’ for key ‘code’,這是你設定了資料是唯一的,但插入的資料和表中資料重複了,解決的方法是使用INSERT IGNORE代替INSERT,INSERT IGNORE插入資料的時候,如果重複了,就不做任何操作,也不報錯,如果不重複,就和INSERT行為一緻,插入資料。

8)126, 127, 134, 144, 145

當你通路資料時,可能會遇到這些錯誤。這是錯誤是由于mysql資料庫内部錯誤引起的。比如:

MySQL error code 126 = Index file is crashedMySQL error code 127 = Record-file is crashedMySQL error code 134 = Record was already deleted (or record file crashed)MySQL error code 144 = Table is crashed and last repair failedMySQL error code 145 = Table was marked as crashed and should be repaired

mysql的bug,被攻擊了,服務挂了,不正确的關閉mysql,損壞的資料都有可能造成這些問題。當這些錯誤發生時,資料就無法通路了,并且一直永久的無法通路。是以,最好把資料做好備份,如果你沒有備份,可以嘗試去修複mysql。如果存儲引擎是MyISAM,使用CHECK TABLE和REPAIR TABLE指令(mysql>=5.7)。

CHECK TABLE

9)1366

這通常意味着用戶端和伺服器之間的字元集處理不一緻。

10)139

錯誤139可能意味着表定義中字段的數量和大小超過了一些限制。檢查sql語句中異常長的字元串,異常大的整數等等

11)2002, 2003 Cannot connect

無法連接配接,如果服務正常啟動,檢查以下可能的項目 1、是不是防火牆的問題,關閉防火牆試試 2、檢查mysql服務監聽的IP 3、檢查skip-name-resolve 4、檢查socket檔案路徑

12)2014 Commands out of sync; you can't run this command now

這個是由于你運作sql查詢語句的序列不正确造成的,官方的解釋

This can happen, for example, if you are using mysql_use_result() and try to execute a new query before you have called mysql_free_result(). It can also happen if you try to execute two queries that return data without calling mysql_use_result() or mysql_store_result() in between.

總結起來意思就是你查詢了結果,但是卻沒有把結果擷取下來。造成mysql server一直在等你把結果取走。

13)1215: Cannot add foreign key constraint

添加外鍵錯誤,檢查外鍵關聯的兩個字段資料類型是否一緻。

End.

作者:笨熊

原文連結:http://www.bugcode.cn/mysqlerrorcodes.html傳回搜狐,檢視更多