2016-08-16 66 views
0

不同版本之間的mysql sql語句是否以向後不兼容的方式更改?不同版本之間的MySQL語法更改

我有一個很長的手寫腳本,當我們的mysql是5.1時它已經可以工作,但它在5.6中不再工作。

如果是,更新手寫腳本的常用方法是什麼?

我並沒有問一個具體的錯誤,因爲當我糾正一個我碰到另一個。只是問是否會發生這樣的突變。我是sql世界的外國人,例如舊的Java代碼通常不會因版本升級而中斷。並詢問除了手工糾正所有事情之外是否還有一種常見的遷移方式?

+0

檢查mysql給出的錯誤,並搜索該錯誤。你會發現這些版本之間有什麼變化。 – Shaharyar

+0

看看mysql文檔中對於mysql api的更改 – Jens

+1

是的。也許。什麼是你的查詢,不再工作?你會得到什麼錯誤?這個問題太過開放,無法回答。 – tadman

回答

0

我受自己是最顯着的變化是TYPE去除在CREATE TABLE syntax

老型號的選擇是與發動機的代名詞。 TYPE在MySQL 4.0中被棄用 ,並在MySQL 5.5中被刪除。當稍後升級到MySQL 5.5或 時,您必須轉換依賴於TYPE的現有應用程序才能改爲使用 ENGINE。

當時大多數MySQL客戶端將使用TYPE,這阻止了SQL轉儲在5.x服務器中加載。所以考慮到至少有一個例子,我想我們可以聲明SQL語法可以在不同版本之間以向後不兼容的方式變化。

關於更新手寫腳本的常用方法,當然這完全取決於更改和數據的性質。我通常使用文本編輯器替換TYPEENGINE,因爲我的轉儲過去很小。

相關問題