我是一名軟件開發人員。我已經使用了多年的mysql,現在我即將在一個項目中遇到與oracle的第一次碰撞。mysql和oracle sql方言之間的主要區別是什麼?
我剛剛被告知我應該小心SQL在某些情況下表現完全不同。我不知道會發生什麼。我主要是在尋找明顯的東西和典型的初學者錯誤。
例如,我被告知oracle沒有自動遞增。
這是我正在尋找的東西的類型。我很感激任何進一步的知識,有助於避免爲已解決的問題創建新的解決方案。
我是一名軟件開發人員。我已經使用了多年的mysql,現在我即將在一個項目中遇到與oracle的第一次碰撞。mysql和oracle sql方言之間的主要區別是什麼?
我剛剛被告知我應該小心SQL在某些情況下表現完全不同。我不知道會發生什麼。我主要是在尋找明顯的東西和典型的初學者錯誤。
例如,我被告知oracle沒有自動遞增。
這是我正在尋找的東西的類型。我很感激任何進一步的知識,有助於避免爲已解決的問題創建新的解決方案。
這裏的所有的Oracle和MySQL之間的差異的鏈接,從擁有兩個:-)
要小心,當公司網上有很多過時的信息。忽視任何超過3年的事情。
例如,我被告知oracle沒有自動遞增。
Oracle有序列;這只是一個不同的符號。在INSERT上自動遞增的列值的想法當然是存在的。
Oracle將您添加主鍵和外鍵作爲約束,與表定義分開。
PostgreSQL是開源數據庫中最接近Oracle的東西。它也有序列。
分組是一個主要的區別,因爲MySQL對分組有其自己的非標準解釋。所以如果你使用了很多聰明的分組,你可能會發現Oracle不會執行你的查詢。
http://dev.mysql.com/doc/refman/5.6/en/group-by-hidden-columns.html
如果要在舊的MySQL中測試類似Oracle的分組行爲,請啓用'only_full_group_by'模式請參閱:http://dev.mysql.com/doc/refman/5.6/en/server-sql-mode.html#sqlmode_only_full_group_by – Johan
+1爲主題。 – Johan