SET
Buy this Reference Manual in softcover from Barnes & Noble!
SET
SET [OPTION] SQL_VALUE_OPTION= value, ...
Команда SET OPTION устанавливает различные опции, влияющие на работу сервера или клиента. Действие любой установленной опции продолжается до конца текущего сеанса или до тех пор, пока не будет установлено другое значение этой опции.
CHARACTER SET character_set_name | DEFAULTcharacter_set_name является cp1251_koi8, но можно легко добавить новые наборы символов, отредактировав файл sql/convert.cc в дистрибутиве исходного кода MySQL. Чтобы восстановить установку по умолчанию, следует установить значение character_set_name в DEFAULT. Следует учитывать, что синтаксис установки опции CHARACTER SET отличается от синтаксиса установки других опций.PASSWORD = PASSWORD('некий пароль')PASSWORD FOR user = PASSWORD('некий пароль')mysql. Данный пользователь должен быть представлен в формате user@hostname, где user и hostname в точности соответствуют записям этих позиций в столбцах User и Host в таблице mysql.user. Например, если записи в полях User и Host соответственно были bob и %.loc.gov, то необходимо писать:
mysql> SET PASSWORD FOR bob@"%.loc.gov" = PASSWORD("newpass");
или
mysql> UPDATE mysql.user SET password=PASSWORD("newpass")
-> WHERE user="bob" AND host="%.loc.gov";
SQL_AUTO_IS_NULL = 0 | 1AUTO_INCREMENT с помощью следующей конструкции: WHERE auto_increment_column IS NULL. Эта возможность используется некоторыми ODBC-программами, такими как Access.AUTOCOMMIT = 0 | 1BEGIN (see section 6.7.1 Синтаксис команд BEGIN/COMMIT/ROLLBACK). Если установить данную опцию в 0, то необходимо использовать COMMIT / ROLLBACK для того, чтобы принять/отменить эту транзакцию (see section 6.7.1 Синтаксис команд BEGIN/COMMIT/ROLLBACK). Следует учитывать, что при переходе из режима работы без AUTOCOMMIT в режим AUTOCOMMIT MySQL автоматически выполнит COMMIT для любой открытой транзакции.SQL_BIG_TABLES = 0 | 1SELECT, требующих обширных временных таблиц, не будет выдаваться ошибка The table tbl_name is full. Для нового соединения значение этой величины по умолчанию равно 0 (т.е. использовать для временных таблиц оперативную память).SQL_BIG_SELECTS = 0 | 1SELECT может потребовать слишком много времени для выполнения. Такая возможность полезна при нерационально написанном выражении WHERE. Запрос классифицируется как слишком большой, если команда SELECT, возможно, будет обрабатывать больше строк, чем задано в max_join_size. Для нового соединения значение по умолчанию равно 1 (т.е. разрешаются любые команды SELECT).SQL_BUFFER_RESULT = 0 | 1SQL_BUFFER_RESULT будет заносить результат выполнения команд SELECT во временную таблицу. Это поможет MySQL раньше освободить блокировки таблиц и окажется полезным в случаях, когда требуется значительное время для пересылки результирующего набора данных клиенту.SQL_LOW_PRIORITY_UPDATES = 0 | 1INSERT, UPDATE, DELETE и LOCK TABLE WRITE будут ожидать, пока не будет ни одной ожидающей решения команды SELECT или LOCK TABLE READ на обрабатываемой таблице.SQL_MAX_JOIN_SIZE = value | DEFAULTSELECT, которым, возможно, придется обрабатывать более, чем value комбинаций строк. Установив эту величину, можно определить команды SELECT, в которых ключи используются неправильно и которые, возможно, потребуют длительного времени для исполнения. При установке этой опции в величину, отличную от DEFAULT, сбрасывается флаг SQL_BIG_SELECTS. Если вновь установить флаг SQL_BIG_SELECTS, то переменная SQL_MAX_JOIN_SIZE будет игнорироваться. Значение по умолчанию для этой переменной можно установить, запустив mysqld с -O max_join_size=#. Следует учитывать, что если результат запроса всегда находится в кэше запросов, то упомянутая выше проверка выполняться не будет. Вместо этого MySQL будет отсылать результат клиенту, поскольку результат запроса уже вычислен и отсылка его клиенту не создаст нагрузки для сервера.SQL_QUERY_CACHE_TYPE = OFF | ON | DEMANDSQL_QUERY_CACHE_TYPE = 0 | 1 | 2| Опция | Описание |
| 0 or OFF | Не кэшировать или не извлекать результаты |
| 1 or ON | Кэшировать все результаты за исключением запросов SELECT SQL_NO_CACHE ...
|
| 2 or DEMAND | Кэшировать только запросы SELECT SQL_CACHE ...
|
SQL_SAFE_UPDATES = 0 | 1UPDATE или DELETE, в которых не используется ключ или LIMIT в выражении WHERE. Это позволяет обнаружить ошибочные обновления при ручном создании команд SQL.SQL_SELECT_LIMIT = value | DEFAULTSELECT. Если SELECT содержит выражение LIMIT, то LIMIT превосходит по старшинству величину в SQL_SELECT_LIMIT. Для нового соединения значение по умолчанию равно "unlimited". Если предел был изменен, то его можно вернуть в значение по умолчанию указанием величины DEFAULT в выражении SQL_SELECT_LIMIT.SQL_LOG_OFF = 0 | 1SUPER. Это не относится к журналу обновлений!SQL_LOG_UPDATE = 0 | 1SUPER. Это не относится к стандартному журналу!SQL_QUOTE_SHOW_CREATE = 0 | 1SHOW CREATE TABLE будет заключать в кавычки имена таблиц и столбцов. Имеет значение Включено по умолчанию, чтобы работала репликация таблиц с изощренными именами столбцов (see section 4.5.6.8 SHOW CREATE TABLE).TIMESTAMP = timestamp_value | DEFAULTtimestamp_value должна представлять системное время Unix, а не временную метку MySQL.LAST_INSERT_ID = #LAST_INSERT_ID(). Хранится в журнале обновлений при использовании функции LAST_INSERT_ID() в команде, обновляющей таблицу.INSERT_ID = #INSERT или ALTER TABLE при внесении величины AUTO_INCREMENT. В основном используется с журналом обновлений.See section 6.7.3 Синтаксис команды SET TRANSACTION.
| Posted by on Monday July 29 2002, @6:28am | [Delete] [Edit] |
Note, that the "SUPER_PRIV" was called
"PROCESS_PRIV" in 3.23.x.
Add your own comment.