LifeType 中文開發論壇

支援 => 安裝與設定 => 主題作者是: ibmcdkimo 於 七月 16, 2006, 11:03:57 下午



主題: 資料庫回復失敗請幫忙解答一下吧!!
作者: ibmcdkimo七月 16, 2006, 11:03:57 下午
我的系統是WIN2000
MYSQL資料庫使用 MySQL Auto Backup 這套軟體將PLOG資料庫備份成 .sql 檔
但是要用PHPMYADNIN將.sql 檔還原到MySQL卻會出現以下的錯誤訊息,
然後資料就沒匯入資料庫,用其他資料庫還原程式一樣不行,
但使用PHPMYADNIN備份的.sql 檔卻可以正常匯入,
請幫忙一下,快被搞瘋了!謝謝!

---------------------------------------

錯誤

SQL 語法 : 

CREATE TABLE IF NOT EXISTS `lt_article_categories_link` (

`article_id` INT( 10 ) NOT NULL DEFAULT 0 PRIMARY KEY ,
`category_id` INT( 10 ) NOT NULL DEFAULT 0 PRIMARY KEY
) TYPE = MYISAM

MySQL 傳回:


#1068 - Multiple primary key defined


主題: Re: 資料庫回復失敗請幫忙解答一下吧!!
作者: markwu七月 16, 2006, 11:19:14 下午
這是你的 mysql auto backup 的問題!

匯出時,如果有multiple key, 應該寫成

PRIMARY KEY  (`article_id`,`category_id`)

所以,你的 ddl 要改寫成

引用
CREATE TABLE `ly_article_categories_link` (
  `article_id` int(10) NOT NULL default '0',
  `category_id` int(10) NOT NULL default '0',
  PRIMARY KEY  (`article_id`,`category_id`)
) TYPE = MYISAM

這樣才能匯入吧!

Mark


主題: Re: 資料庫回復失敗請幫忙解答一下吧!!
作者: ibmcdkimo七月 17, 2006, 12:20:32 上午
這是你的 mysql auto backup 的問題!

匯出時,如果有multiple key, 應該寫成

PRIMARY KEY  (`article_id`,`category_id`)

所以,你的 ddl 要改寫成

引用
CREATE TABLE `ly_article_categories_link` (
  `article_id` int(10) NOT NULL default '0',
  `category_id` int(10) NOT NULL default '0',
  PRIMARY KEY  (`article_id`,`category_id`)
) TYPE = MYISAM

這樣才能匯入吧!

Mark

感謝Mark的提示,我有把MYSQL內建功能匯出的sql檔和mysql auto backup備份的sql檔作比較,
發現只要把最前面的及幾個有問題的資料表語法改成跟MYSQL內建匯出檔的語法一樣,
就可以成功匯入了!
再次謝謝Mark囉!! :-D



主題: Re: 資料庫回復失敗請幫忙解答一下吧!!
作者: markwu七月 17, 2006, 11:49:58 下午
恭喜你解決了!  :-)

Mark