日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
關(guān)于MySQL常見錯(cuò)誤碼的講解

Error code 1064: Syntax error

創(chuàng)新互聯(lián)公司的客戶來(lái)自各行各業(yè),為了共同目標(biāo),我們?cè)诠ぷ魃厦芮信浜希瑥膭?chuàng)業(yè)型小企業(yè)到企事業(yè)單位,感謝他們對(duì)我們的要求,感謝他們從不同領(lǐng)域給我們帶來(lái)的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會(huì)用頭腦與智慧不斷的給客戶帶來(lái)驚喜。專業(yè)領(lǐng)域包括成都網(wǎng)站建設(shè)、成都做網(wǎng)站、電商網(wǎng)站開發(fā)、微信營(yíng)銷、系統(tǒng)平臺(tái)開發(fā)。

假設(shè)有一個(gè)sql語(yǔ)句

 
 
 
  1. select LastName, FirstName,from Person 

執(zhí)行的時(shí)候會(huì)包錯(cuò)誤

 
 
 
  1. Error Code: 1064. You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'from Person' at line 2. 
  • 1064錯(cuò)誤說(shuō)明你的sql語(yǔ)句有語(yǔ)法錯(cuò)誤,單看這個(gè)錯(cuò)誤碼,我們無(wú)法判斷出具體是哪的錯(cuò)誤。
  • 仔細(xì)看報(bào)錯(cuò)信息的最后,有一段用單引號(hào)標(biāo)識(shí)的對(duì)源sql語(yǔ)句的引用'from Person',這表示的是這段sql語(yǔ)句無(wú)法被解析,但是對(duì)于我們這個(gè)例子,這個(gè)報(bào)錯(cuò)引用并沒什么卵用。我們?cè)僮⒁庥^察,這個(gè)引用的信息前面多了一個(gè)逗號(hào),這個(gè)逗號(hào)后面應(yīng)該接的是個(gè)表中的列名,而不是from關(guān)鍵字。
  • 1064的錯(cuò)誤信息一般最后會(huì)有個(gè)... near '...'格式的信息,near后面的引用就是sql語(yǔ)句開始無(wú)法被解析的地方,當(dāng)遇到這個(gè)錯(cuò)誤,多觀察這段無(wú)法解析的sql語(yǔ)句前后的字符。
  • 有時(shí)候,你得到的錯(cuò)誤信息是... near '',near后面的引用是空的,這表示出錯(cuò)的地方位于sql語(yǔ)句的開頭或者第一個(gè)字符,通常情況是單引號(hào)、引號(hào)、括號(hào)沒有成對(duì)出現(xiàn)或者是結(jié)尾處沒有正確的字符,如中文分號(hào)。
  • 如果發(fā)現(xiàn)了1064錯(cuò)誤,注意查看報(bào)錯(cuò)信息里引用的sql語(yǔ)句,多查看這個(gè)錯(cuò)誤的sql語(yǔ)句前后部分。
  • 如果有人向你詢問(wèn)1064的sql錯(cuò)誤,你最好讓他給你提供完整的sql語(yǔ)句和報(bào)錯(cuò)信息。

Error code 1175: Safe Update

這個(gè)錯(cuò)誤是由于你執(zhí)行update或者delete語(yǔ)句時(shí),沒有指定where條件,如果想忽略這個(gè)錯(cuò)誤,則修改配置

 
 
 
  1. SET SQL_SAFE_UPDATES = 0; 

重新打開錯(cuò)誤提醒

 
 
 
  1. SET SQL_SAFE_UPDATES = 1; 
  • 1067, 1292, 1366, 1411 - Bad Value for number, date, default, etc.
  • 1067這個(gè)錯(cuò)誤和TINESTAMP默認(rèn)值有關(guān),需查看官方文檔
  • 1292/1366 double和integer類型錯(cuò)誤,檢查語(yǔ)法和數(shù)值類型
  • 1292 detatime錯(cuò)誤,檢查插入的時(shí)間數(shù)據(jù)格式,是否超出范圍,帶時(shí)區(qū)格式的時(shí)間字符串格式是否有問(wèn)題
  • 1292 VARIABLE 檢查你設(shè)置的VARIABLE屬性
  • 1292 LOAD DATA 檢查轉(zhuǎn)義字符,檢查數(shù)據(jù)類型
  • 1411 STR_TO_DATE 檢查時(shí)間字符串格式

1045 Access denied

權(quán)限錯(cuò)誤,檢查用戶名密碼是否正確,檢查當(dāng)前用戶是否有權(quán)限訪問(wèn)數(shù)據(jù)。

1236 "impossible position" in Replication

  • 通常情況下,這是由于mysql主節(jié)點(diǎn)掛掉了并且sync_binlog=OFF,解決方法是在從節(jié)點(diǎn)設(shè)置 POS=0。
  • 當(dāng)sync_binlog=OFF時(shí),主節(jié)點(diǎn)會(huì)在把數(shù)據(jù)先發(fā)給從節(jié)點(diǎn),然后寫binlog。當(dāng)主節(jié)點(diǎn)在寫binlog之前掛掉了,這時(shí)候由于已經(jīng)把數(shù)據(jù)發(fā)給從節(jié)點(diǎn)了,所以從節(jié)點(diǎn)在寫完數(shù)據(jù)后,binlog被更新,導(dǎo)致主節(jié)點(diǎn)和從節(jié)點(diǎn)binlog指針位置不一致。所以,當(dāng)主節(jié)點(diǎn)重新啟動(dòng)后,會(huì)開啟一個(gè)新的binlog,所以這時(shí)候把從節(jié)點(diǎn)的binlog指針位置設(shè)置為0,從頭重新開始。
  • 最好的解決方法設(shè)置sync_binlog=ON,這樣基于binlog同步,但會(huì)帶來(lái)較多的i/o開銷。

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

open_files_limit是個(gè)系統(tǒng)的設(shè)置,table_open_cache必須比系統(tǒng)的這個(gè)配置小

1062 - Duplicate Entry

這個(gè)錯(cuò)誤通常有以下幾個(gè)原因

主鍵約束,Error Code: 1062. Duplicate entry ‘12’ for key ‘PRIMARY’,主鍵約束的數(shù)據(jù)必須是唯一的,解決的方法之一是設(shè)置主鍵是自增的,這樣,插入數(shù)據(jù)時(shí),設(shè)置主鍵的數(shù)據(jù)為NULL。

唯一屬性約束,Error Code: 1062. Duplicate entry ‘A’ for key ‘code’,這是你設(shè)置了數(shù)據(jù)是唯一的,但插入的數(shù)據(jù)和表中數(shù)據(jù)重復(fù)了,解決的方法是使用INSERT IGNORE代替INSERT,INSERT IGNORE插入數(shù)據(jù)的時(shí)候,如果重復(fù)了,就不做任何操作,也不報(bào)錯(cuò),如果不重復(fù),就和INSERT行為一致,插入數(shù)據(jù)。

126, 127, 134, 144, 145

當(dāng)你訪問(wèn)數(shù)據(jù)時(shí),可能會(huì)遇到這些錯(cuò)誤。這是錯(cuò)誤是由于mysql數(shù)據(jù)庫(kù)內(nèi)部錯(cuò)誤引起的。比如:

 
 
 
  1. MySQL error code 126 = Index file is crashed 
  2.  
  3. MySQL error code 127 = Record-file is crashed 
  4.  
  5. MySQL error code 134 = Record was already deleted (or record file crashed) 
  6.  
  7. MySQL error code 144 = Table is crashed and last repair failed 
  8.  
  9. MySQL error code 145 = Table was marked as crashed and should be repaired 

mysql的bug,被攻擊了,服務(wù)掛了,不正確的關(guān)閉mysql,損壞的數(shù)據(jù)都有可能造成這些問(wèn)題。當(dāng)這些錯(cuò)誤發(fā)生時(shí),數(shù)據(jù)就無(wú)法訪問(wèn)了,并且一直永久的無(wú)法訪問(wèn)。所以,最好把數(shù)據(jù)做好備份,如果你沒有備份,可以嘗試去修復(fù)mysql。如果存儲(chǔ)引擎是MyISAM,使用CHECK TABLE和REPAIR TABLE命令(mysql>=5.7)。

 
 
 
  1. CHECK TABLE  ////To check the extent of database corruption 
  2.  
  3. REPAIR TABLE  ////To repair table 

1366

這通常意味著客戶端和服務(wù)器之間的字符集處理不一致。

139

錯(cuò)誤139可能意味著表定義中字段的數(shù)量和大小超過(guò)了一些限制。檢查sql語(yǔ)句中異常長(zhǎng)的字符串,異常大的整數(shù)等等

2002, 2003 Cannot connect

無(wú)法連接,如果服務(wù)正常啟動(dòng),檢查以下可能的項(xiàng)目

1、是不是防火墻的問(wèn)題,關(guān)閉防火墻試試

2、檢查mysql服務(wù)監(jiān)聽的IP

3、檢查skip-name-resolve

4、檢查socket文件路徑

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

這個(gè)是由于你運(yùn)行sql查詢語(yǔ)句的序列不正確造成的,官方的解釋

 
 
 
  1. 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. 

總結(jié)起來(lái)意思就是你查詢了結(jié)果,但是卻沒有把結(jié)果獲取下來(lái)。造成mysql server一直在等你把結(jié)果取走。

1215: Cannot add foreign key constraint

添加外鍵錯(cuò)誤,檢查外鍵關(guān)聯(lián)的兩個(gè)字段數(shù)據(jù)類型是否一致。 


標(biāo)題名稱:關(guān)于MySQL常見錯(cuò)誤碼的講解
瀏覽路徑:http://www.5511xx.com/article/ccoijps.html