MySQLのバージョン毎に実行を分けるコメント構文「!」version指定
こんにちはAkiです。
MySQLのdumpやクエリで
/*!32302 */
/*!50100 */
/*!50500 */
/*!50600 */
などとコメント構文で囲ってあるものを見たことありませんか?
こちらが何の指定なのかについての説明です。
version指定のコメント構文
こちらは、「!」の後に指定しているのがバージョン番号を表していて
見方としては、
32302
はMySQL3.23.02
50100
はMySQL5.1.00
50600
はMySQL5.6.00
となります。
そして「!」の後ろにバージョン番号を追加すると、
コメント内の構文はMySQL のバージョンが指定されたバージョン番号以上の場合にだけ実行されるという意味になります。
指定されたバージョン未満は実行されません。
なので
/*!50635 select * from hoge */;
はMySQL5.6.35以上のみ実行されるクエリになります。
ご利用環境のMySQLのバージョン毎に沿って実行クエリを分けたい場合などに使えます。
以前Qiitaで上げた記事はこちら

MySQLのバージョン毎に実行を分けるコメント構文「!」version指定 - Qiita
ダンプやクエリで /*!32302 */ や /*!50100 */ 、/*!50500 */ 、/*!50600 */ とコメント構文で囲ってあるものがあります。 こちらは、「!」の後に指定しているのがバージョン番号を表して...
"+t+""+v+""+">"}function i(t){t.write(o("")),t.close();var n=t.parentWindow.Object;return t=null,n}var u,c=r(42),f=r(64),a=r(59),p=r(48),s=r(66),l=r(39),r=r(47),y="prototype",v="script",d=r("IE_PROTO"),b=function(){try{u=new ActiveXObject("htmlfile")}catch(t){}var t;b="undefined"==typeof document||document.domain&&u?i(u):((t=l("iframe")).style.display="none",s.appendChild(t),t.src=String("javascript:"),(t=t.contentWindow.document).open(),t.write(o("document.F=Object")),t.close(),t.F);for(var n=a.length;n--;)delete b[y][a[n]];return b()};p[d]=!0,t.exports=Object.create||function(t,n){var r;return null!==t?(e[y]=c(t),r=new e,e[y]=null,r[d]=t):r=b(),n===C?r:f(r,n)}},function(t,n,r){var e=r(5),c=r(41),f=r(42),a=r(10),p=r(65);t.exports=e?Object.defineProperties:function(t,n){f(t);for(var r,e=a(n),o=p(n),i=o.length,u=0;u
タイトルとURLをコピーしました
コメント