2011-11-02 173 views
-1

我想從我的遠程服務器複製一個MyIsam數據庫到我的本地機器進行測試。我在遠程服務器上使用phpMyAdmin。我選擇數據庫然後導出。當我嘗試導入(使用MAMP,phMyAdmin)我收到以下錯誤消息 錯誤 SQL查詢:使用mamp導入mysql數據庫,phpMyAdmin

CREATE TABLE IF NOT EXISTS `assignments` (
`uid` int(11) default NULL , 
`rid` int(11) default NULL , 
`semester` varchar(255) default NULL , 
`year` int(11) default NULL 
) TYPE = MYISAM ; 

MySQL said: Documentation 
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax 
to use near 'TYPE=MyISAM' at line 6 

請幫助!

謝謝

+0

可能重複的[CREATE TABLE ... TYPE = MYISAM中的1064錯誤](http://stackoverflow.com/questions/12428755/1064-error-in-create-table-type -myisam) – Jocelyn

回答

1

試試Reza(Type = InnoDB)提出的技巧,但我在本地機器上使用MAMP,它可以支持InnoDB/MyISAM ...哪個版本你使用MAMP嗎? (我使用免費的)

+0

我使用免費版本。 – JJRutter

+1

只需刪除'TYPE = MYISAM;'部分(但留下結束括號))。 在phpMyAdmin中選擇您的數據庫,單擊SQL,然後複製粘貼代碼。這應該創建默認類型的表,通常是MyISAM。 – lovethebomb

+0

嘗試從.sql eport文件中刪除所有Type = myisam調用,但現在導入失敗,導致另一個基於語法的錯誤。 難道它與事實我試圖導出從mySql服務器版本5.0.77 - 日誌到mySql服務器verson 5.5.9? – JJRutter

0

也許您的本地數據庫不支持MyISAM類型?它是否必須是MyISAM?你可以嘗試在sql轉儲文本文件中將它改爲'TYPE = InnoDB'

+0

我試圖導入的數據庫是myISAM,我不確定這是否意味着我要iporting的數據庫也必須是myISAM。我確實更改了my.cnf,「default-storage-engine = MyISAM」,並從終端驗證它默認爲myISAM。 – JJRutter

+1

目的地並不需要是MyISAM,因爲我之前已將其他isam dbs導入inno。如果在db dump文件中,在create table語句結尾添加type = InnoDB來解決這個問題,如果你不關心db類型的話 –

+0

嘗試把所有type = MyISAM改成innoDB,仍然沒有工作 – JJRutter