7.24 SET OPTION

SET [OPTION] SQL_VALUE_OPTION= value, ...

SET OPTION selectionne différentes options qui affecteront le mode opératoire du client ou du serveur. Toute option reste valable jusqu'à la fin de la session, ou jusqu'à la prochaine modification.

  • CHARACTER SET character_set_name | DEFAULT Cette option permet de choisir la table des caractères utilisée par MySQL. Actuellement, la seule option possible est cp1251_koi8, mais il est très simple d'ajouter de nouvelles tables en éditant le fichier ``sql/convert.cc'' dans le code source de MySQL . La table par défaut peut être rappelée en utilisant la valeur DEFAULT. Il faut noter que la syntaxe pour choisir la table de caractère est différente des autres.
  • PASSWORD = PASSWORD('some password') Choisit un nouveau mot de passe pour l'utilisateur courant. Tout utilisateur non-anonyme peut changer son mot de passe!
  • PASSWORD FOR user = PASSWORD('some password') Assigne un nouveau mot de passe pour un utilisateur du serveur courant. Seul, un utilisateur avec des droits d'accès à mysql database peut le faire. L'utilisateur modifié doit être désigné par utilisateur@nom_hote , avec utilisateur et nom_hote qui prennent les valeurs qui apparaissent dans la tablemysql.user, sous les colonnes User et Host columns of the table entry. Par exemple, si il existe une ligne avec User et Host qu valent respectivement 'bob' et '%.loc.gov', il faudra écrire:
    mysql> SET PASSWORD FOR bob@"%.loc.gov" = PASSWORD("newpass");
    
  • SQL_BIG_TABLES = 0 | 1 Si mis à un, toutes les tables temporaires sont stockés sur le disque dur, plutôt qu'en mémoire. Cela rend le processus un peu plus lent, mais il génère pas d'erreur du type The table Nom_table is full (la table Nom_table est pleine), si de grosses commandes SELECT demandes de grandes tables temporaires. Par défaut, cette option est à 0.
  • SQL_BIG_SELECTS = 0 | 1 Si mis à 1, MySQL annulera une commande SELECT qui va prendre un temps trop long. Ceci est très utile quand une clause WHERE complexe a été spécifiée. Une requête trop long est une commande SELECT qui va avoir à étudier plus de max_join_size rows lignes. Par défaut, cette valeur est à 0 (Toutes les commandes SELECT autorisées).
  • SQL_LOW_PRIORITY_UPDATES = 0 | 1 Si mis à 1, toutes les commandes INSERT, UPDATE et DELETE attendent qu'il n'y ait plus de commande SELECT en attente sur la table affectée.
  • SQL_SELECT_LIMIT = value | DEFAULT Le nombre maximal de ligne à retourner dans une commande SELECT. Si une commande SELECT a une clause de limite LIMIT, LIMIT est prioritaire sur SQL_SELECT_LIMIT. La valeur par défaut pour cette option est "sans limite". Si la limite a été changée, il est toujours possible de restaurer la configuration initiale avec DEFAULT.
  • SQL_LOG_OFF = 0 | 1 Si mis à 1, aucun historique ne sera transmis au client, si le client a les droits de process . Ceci n'affecte pas l'historique de mise à jour.
  • SQL_LOG_UPDATE = 0 | 1 Si mis à 0, aucun historique de modification ne sera tenu, si le client a les droits de process privilege. Ceci n'affecte pas l'historique du client.
  • TIMESTAMP = timestamp_value | DEFAULT Met à l'heure le client. Cette fonction est généralement utilisée pour fixer la valeur initiale du timestamp, lors de l'utilisation de l'historique pour recréer des lignes.
  • LAST_INSERT_ID = # Fixe la valeur qui sera retournée par la prochaine fonction LAST_INSERT_ID(). Elle est stockée dans l'historique de modification.
  • INSERT_ID = # Fixe la prochaine valeur à utiliser lors d'une insertion dans une table avec une colonne de type AUTO_INCREMENT value. Cela sert surtout avec l'historique de modifications.