1.9.2 Запуск MySQL в режиме ANSI Оглавление 1.9.4 Отличия MySQL от ANSI SQL92

1.9.3 Расширения MySQL к ANSI SQL92

Сервер MySQL включает в себя ряд расширений, которые могут отсутствовать в других базах данных SQL. Если вы их используете, то следует иметь в виду, что такой код не будет переносимым на другие SQL-серверы. В некоторых случаях можно написать код, включающий расширения MySQL, но, тем не менее, являющийся переносимым, воспользовавшись комментариями вида /*! ... */. В этом случае сервер MySQL будет анализировать и выполнять данный код внутри этого комментария как обычную команду MySQL, в то время как другие SQL-серверы будут игнорировать данное расширение. Например:

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

При добавлении номера версии после '!' это выражение будет исполняться только в случае, если номер данной версии MySQL равен указанному номеру или больше:

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

Это означает, что при наличии версии 3.23.02 или выше сервер MySQL будет использовать ключевое слово TEMPORARY.

Ниже приводится перечень расширений MySQL:


1.9.2 Запуск MySQL в режиме ANSI Оглавление 1.9.4 Отличия MySQL от ANSI SQL92