作者: falcon 發表日期: 2007-01-19 21:11
復制鏈接
1. ERROR 1062 (23000) at line 1936: Duplicate entry ' ' for key 2
這個錯誤是我在恢復數據庫的時候遇到的,我從mysql4.1.7的版本里頭用
Quote: |
mysqldump -u user_name -p db_name > db_name.sql
|
備份了數據,準備恢復到mysql5.0.12中,但是新版本對primary key的檢查更嚴格
因此,在我這樣恢復的時候就出現了上面的錯誤
Quote: |
mysql -u user_name -p db_name < db_name.sql
|
解決辦法:
在插入數據的時候忽略掉那個重復的項目,即在insert后面增加ignore,那么這么多的插入語句,怎么一條一條的加入呢,辦法很簡單,用sed
Quote: |
sed -e 's/INSERT INTO/INSERT ignore INTO/g' db_name.sql > db_name_ignore.sql
|
2. ERROR 1005 (HY000): Can't create table
有時候在用
Quote: |
mysql -u user_name -p db_name < db_name.sql
|
恢復數據庫的時候,可能出現這樣的問題
但是,有時候可以這么簡單的解決
解決辦法:把數據庫刪了,重新創建一個,然后再把數據庫導入進去
Quote: |
shell> drop database db_name shell> create database db_name
|
然后再導入數據用mysql -u user_name -p db_name < db_name.sql
補充:
當然,可能錯誤的原因并不一樣哦,另外在這里你會發現shell是多么有用,所以諸如sed,grep,awk,uniq,sort,netstat,tracepath等等一些常見的工具最好還是花費一些時間認真學習一下吧。