mysql匯入資料導資料提示Duplicate entryfor key 錯誤

來源:互聯網
上載者:User

之前伺服器資料丟失後決定搬家了用PHPMYADMIN匯出,因為資料庫檔案比較大,所以直接使用MYSQL命令直接匯入

MySQL匯出匯入命令
但是結果卻不斷的出現

ERROR 1062 (23000) at line 1262: Duplicate entry '?�ꡣ�H�o' for key 2
然後就中止了.NND這傢伙吃軟不吃硬。來硬的。。 --force。強行匯入。不退出
# 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 <z.sql -u root -p
Enter password:
ERROR 1062 (23000) at line 20449: Duplicate entry '??????' for key 1費解


上網查閱後有說使用-FORCE 強制匯入

mysql uynetwork <a.sql -force -u root -p然後出現一大段錯誤
但是還是存在問題
最後發現原來在PHPMYADMIN匯出的時候檔案編碼是UTF-8的最後使用

 代碼如下 複製代碼

mysql uynetwork <p.sql -u root -p --default-character-set=utf8

總結

Duplicate entry...for key...的錯誤原因是主鍵的唯一值重複,在對資料庫進行修改、插入操作時,一但主鍵的唯一值重複就會報此錯誤,有時在表中存在多個主鍵時,對錶操作仍然報此錯誤,是因為對該表的索引造成的。例如一個表中有 id1,id2兩個主鍵,但是在插入資料時已經存在了ff,11這樣一條紀錄,再插入ff,22這樣一條記錄應該是沒問題的,但是卻報出上面這個錯誤,導致的原因就是索引時只對id1這個欄位進行了索引,沒有對id2進行聯合索引,所以在插入ff,22這條記錄時會報錯。

處理方法:在該表的Indexes中的index_1進行處理,加入另外一個主鍵就可以了。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.