Spec-Zone .ru
спецификации, руководства, описания, API

1.8.4. SQL MySQL Extensions to Standard

MySQL Server поддерживает некоторые расширения, что Вы, вероятно, не будете находить в другом SQL DBMSs. Будьте предупреждены, что, если Вы используете их, Ваш код не будет переносим на другие SQL-серверы. В некоторых случаях можно записать код, который включает расширения MySQL, но все еще переносим, при использовании комментариев следующей формы:

/*! MySQL-specific code */

В этом случае MySQL Server анализирует и выполняет код в пределах комментария, как это было бы, любой другой SQL-оператор, но другие SQL-серверы проигнорирует расширения. Например, MySQL Server распознает STRAIGHT_JOIN ключевое слово в следующем операторе, но другие серверы не будет:

SELECT /*! STRAIGHT_JOIN */ col1 FROM table1,table2 WHERE ...

Если Вы добавляете номер версии после"!"символ, синтаксис в пределах комментария выполняется, только если версия MySQL больше чем или равна указанному номеру версии. TEMPORARY ключевое слово в следующем комментарии выполняется только серверами от MySQL 3.23.02 или выше:

CREATE /*!32302 TEMPORARY */ TABLE t (a INT);

Следующие описания перечисляют расширения MySQL, организованные по категориям.