如何在MySQL中編寫IF
... THEN
... ELSE
我的IF正在測試服務器版本號?指向文檔的正確部分表示讚賞。更多細節非常感謝。MySQL IF版本<x然後我的
更新:
道歉非故意模糊的問題。
當我在機器上部署某些東西(對我而言是新的)時,我保持一個sql腳本可以輕鬆創建數據庫和用戶。不同的服務器運行不同版本的軟件,我希望使腳本可靠並具有版本意識。
如何在MySQL中編寫IF
... THEN
... ELSE
我的IF正在測試服務器版本號?指向文檔的正確部分表示讚賞。更多細節非常感謝。MySQL IF版本<x然後我的
更新:
道歉非故意模糊的問題。
當我在機器上部署某些東西(對我而言是新的)時,我保持一個sql腳本可以輕鬆創建數據庫和用戶。不同的服務器運行不同版本的軟件,我希望使腳本可靠並具有版本意識。
這很難,因爲你沒有描述你要怎樣做才能回答這個問題,但你可能想知道關於MySQL SQL註釋語法的一個簡潔功能,以使查詢的某些部分與版本相關。
見http://dev.mysql.com/doc/refman/5.7/en/comments.html
如果你的「!」字符後增加一個版本號, 內僅當MySQL版本大於或 等於指定版本號的註釋執行語法。 下面的註釋中的TEMPORARY關鍵字僅由來自MySQL 3.23.02或 更高的服務器執行:
CREATE/*!32302 TEMPORARY */TABLE t(a INT);
您需要使用version全局變量。
mysql> select @@VERSION;
+-----------------+
| @@VERSION |
+-----------------+
| 5.6.26-74.0-log |
+-----------------+
1 row in set (0.00 sec)
EJ:(市長版本號,從'5.6.26-74.0-log'
提取物'5'
)
SELECT SUBSTRING(@@VERSION , 1 , LOCATE('.' , @@VERSION))
使用您的編碼鉛筆? – Mick
這是什麼意思?你正在使用什麼版本,你想解決什麼問題?將這個烘烤成查詢是一個超級糟糕的主意。 – tadman