要將 MySQL 的資料備份還原(mysqldump), 但是出現下面這些錯誤訊息: (mysql -u root DBNAME < DB.sql)
ERROR 1062 (23000) at line 43238: Duplicate entry '?' for key 2
ERROR 1062 (23000) at line 50788: Duplicate entry '?' for key 2
ERROR 1062 (23000) at line 50860: Duplicate entry '?' for key 2
ERROR 1062 (23000) at line 50923: Duplicate entry '?' for key 2
平常狀況這個應該是不存在的(或許吧? 業主的 DB 不知道為何會匯出這樣子的資料), 總之要先 Import 進去, 才能開始進行開發的工作.
出現上述的錯誤訊息, 匯入的動作就會停止, 所以要讓 MySQL 不要管這些訊息, 強制匯入.
一直記得是 IGNORE 還是 Skip 等等的指令, 所以找很久, 原來是記錯了, 只是簡單的 --force 就可以了. Orz..
忽略錯誤, 繼續執行 Import 的命令
- mysql -u root DB_NAME --force < DB.sql
oracle 是用 IGNORE
Soga, 感恩~ 🙂
我覺得有可能是匯出得資料有編碼錯誤或是復合 key 的問題?...
或許吧, 不過這是別人的資料, 我就沒有詳細研究下去了. Orz..
我猜可能是複合 key 的問題, 編碼應該不會錯才對~
老兄,太感谢了!
救我命了。
哈
谢谢兄弟的教程,用这个救回一个论坛数据