2012-12-18 82 views
3

我正在導出由其他人創建的數據庫,其中包含一些視圖,但導出的SQL稍後會(在導入時)創建表而不是視圖。phpMyAdmin導出和導入視圖

CODE:

DROP VIEW IF EXISTS `listado_sorteos`; 
CREATE TABLE IF NOT EXISTS `listado_sorteos` (
`idsorteo` int(10) unsigned 
,`fecha_alta` datetime 
,`idaplicacion` int(10) unsigned 
,`fecha_sorteo` datetime 
,`descripcion` varchar(45) 
); 

在我看來這是不對的,因爲它創建一個表,而不是一個看法......但我是正確的?如果不是,我必須從phpMyAdmin中導出視圖有什麼解決方案?

回答

2

OK - 我我已經解決了這個問題。 正在閱讀PMA錯誤頁面,結果表明在我使用的舊版本PMA的導出例程中存在一個錯誤。

解決方案:更新PMA。 (很簡單,檢查你的MySQL和PHP兼容,獲取最新版本,並將文件複製到你現有的phpMyAdmin文件夾中,如果你願意,可以重新啓動)。

+0

感謝,但是這不是一個選項...我幾乎拿到了進入phpMyAdmin的 – Alex

+0

OK,軸承請注意發生該錯誤的原因是SQL導出是由PMA錯誤地創建的,您唯一的選擇是編輯SQL轉儲並刪除那些不正確的表。 如果你很聰明(也有點瘋狂),你可以編寫一個解析例程來爲你編輯SQL。 – jcansell

2

我有類似的問題。 當我導出整個數據庫時,sql dump包含用於創建視圖的代碼,然後使用與視圖相同的數據創建表的進一步代碼。 結果意味着我無法導入轉儲沒有錯誤。

我目前的解決方法是從要導出的表列表中取消選擇視圖的名稱。 這會導出沒有視圖的數據庫。 然後我點擊每個視圖並點擊導出。 然後我就可以重新導入主轉儲,其次是每個視圖(我可以粘貼到主轉儲SQL如果我真的想)

希望有人想出了一個更好的答案

3

我有同樣的問題,並通過以下解決方案解決。要首先導出視圖,我們需要將其轉換爲表格,並且我們可以輕鬆導出該表格。到視圖轉換爲表由

創建表的表名SELECT * FROM視圖名