mysql導(dǎo)入數(shù)據(jù)導(dǎo)數(shù)據(jù)提示Duplicate entryfor key 錯誤 下面我來分析一下我的解決方法,有需要學(xué)習(xí)的朋友可參考一下。
之前服務(wù)器數(shù)據(jù)丟失后決定搬家了用PHPMYADMIN導(dǎo)出,因?yàn)閿?shù)據(jù)庫文件比較大,所以直接使用MYSQL命令直接導(dǎo)入
MySQL導(dǎo)出導(dǎo)入命令
但是結(jié)果卻不斷的出現(xiàn)
ERROR 1062 (23000) at line 1262: Duplicate entry '?�ꡣ�H�o' for key 2
然后就中止了.NND這家伙吃軟不吃硬。來硬的。 --force。強(qiáng)行導(dǎo)入。不退出
# mysql -u root -p fukai --force < dmc010003_db.myisam.sql
Enter password:
ERROR 1062 (23000) at line 1262: Duplicate entry '?�ꡣ�H�o' for key 2
ERROR 1062 (23000) at line 1263: Duplicate entry 'm?oʙ�H�m' for key 2
ERROR 1062 (23000) at line 1271: Duplicate entry '?���^��Ц' for key 2
ERROR 1062 (23000) at line 5182: Duplicate entry '?�ꡣ�H�o' for key 2
ERROR 1062 (23000) at line 5187: Duplicate entry '?���^��Ц' for key 2
ERROR 1231 (42000) at line 7268: Variable 'sql_mode' can't be set to the value of 'NULL'
yingouqlj@qljlearnhost:/home/jump$ mysql uynetwork
ERROR 1062 (23000) at line 20449: Duplicate entry '??????' for key 1費(fèi)解
上網(wǎng)查閱后有說使用-FORCE 強(qiáng)制導(dǎo)入
mysql uynetwork
但是還是存在問題
最后發(fā)現(xiàn)原來在PHPMYADMIN導(dǎo)出的時候文件編碼是UTF-8的最后使用
代碼如下 | |
mysql uynetwork |
總結(jié)
Duplicate entry...for key...的錯誤原因是主鍵的唯一值重復(fù),在對數(shù)據(jù)庫進(jìn)行修改、插入操作時,一但主鍵的唯一值重復(fù)就會報此錯誤,有時在表中存在多個主鍵時,對表操作仍然報此錯誤,是因?yàn)閷υ摫淼乃饕斐傻?。例如一個表中有 id1,id2兩個主鍵,但是在插入數(shù)據(jù)時已經(jīng)存在了ff,11這樣一條紀(jì)錄,再插入ff,22這樣一條記錄應(yīng)該是沒問題的,但是卻報出上面這個錯誤,導(dǎo)致的原因就是索引時只對id1這個字段進(jìn)行了索引,沒有對id2進(jìn)行聯(lián)合索引,所以在插入ff,22這條記錄時會報錯。
處理方法:在該表的Indexes中的index_1進(jìn)行處理,加入另外一個主鍵就可以了。
聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com