MySQL Workbench, commencez par la validation automatique

6

J'utilise MySQL Workbench 5.2 et chaque fois que je me connecte à une base de données, la validation automatique est activée.

Existe-t-il un moyen de modifier le comportement par défaut de sorte que la validation automatique soit désactivée?

Denis Sadowski
la source
Mise à jour ma réponse. Redémarrage requis :(
RolandoMySQLDBA
Avez-vous redémarré mysql après avoir ajouté autocommit = 0 à my.ini?
RolandoMySQLDBA
J'ai redémarré mysql, et après cela n'a pas semblé aider, j'ai redémarré toute la machine.
Denis Sadowski
Mise à jour de ma réponse concernant MySQL Workbench.
RolandoMySQLDBA

Réponses:

4

Ajoutez ceci à /etc/my.cnf (Linux) ou my.ini (Windows)

[mysqld]
autocommit=0

Redémarrage de mysql requis !!! :(

MISE À JOUR 2011-08-03 12:18 EDT

Dans MySQL Workbench, vous devez vous assurer que l’assistant de modification des données est activé. Voici pourquoi:

Assistant Activer la validation des modifications de données - Dans l'éditeur SQL, lors de la modification des données d'un tableau, puis du clic sur le bouton Appliquer les modifications aux données, un assistant est lancé pour vous aider à appliquer les modifications. Cela vous donne la possibilité de consulter le code SQL qui sera appliqué au serveur actif pour apporter les modifications demandées. Si l'option est désélectionnée, les modifications seront simplement appliquées au serveur, sans que l'assistant ne soit affiché et sans possibilité de revoir les modifications à apporter.

Voici comment vérifier:

  • Ouvrez MySQL Workbench
  • Cliquez sur Modifier dans la barre de menus principale.
  • Cliquez sur Préférences sous Modifier.
  • Cliquez sur l'onglet Editeur SQL
  • Rechercher la dernière case à cocher sous les résultats de la requête

Si cette case est cochée, les données sont validées via un assistant nécessitant l'intervention de l'utilisateur.

Si cette case n'est pas cochée, les données sont validées en contournant les protocoles d'auto-validation de MySQL.

RolandoMySQLDBA
la source
J'ai essayé d'exécuter SET GLOBAL autocommit = 0 et SET GLOBAL autocommit = 'OFF' à partir de MySQL Workbench après la connexion à une base de données et j'ai obtenu l'erreur suivante: Code d'erreur: 1228. La variable 'autocommit' est une variable SESSION et ne peut pas être utilisé avec SET GLOBAL
Denis Sadowski
J'ai essayé un redémarrage, et quand je lance "select @@ autocommit", il est toujours réglé sur 1. J'ai placé le fichier my.ini sous C: /, C: / Windows et les répertoires de fichiers du programme Workbench et aucun d'entre eux n'a aidé. . :(
Denis Sadowski
autocommit=0ne fonctionne pas, init_connect="SET AUTOCOMMIT=0"ce que les docs recommandent, ne fonctionne pas non plus
Noah Yetter
Ceci est tout simplement incorrect. Premièrement, l’assistant est une couche distincte de "protection"; si vous annulez une opération dans l'assistant, le SQL ne s'exécutera pas du tout (et il n'y aura rien à valider), tandis que s'il est approuvé, il sera exécuté. Une fois exécuté (avec ou sans assistant), le paramètre "autocommit" déterminera si une auto-validation doit avoir lieu ou non. Deuxième ... (commentaire suivant)
Eyal Roth
Deuxièmement, si le client (aucun client) ne remplace pas le paramètre "autocommit", il sera déterminé par le paramètre global défini dans la base de données (dans MySQL, la valeur par défaut est TRUE). Il est possible pour le client de remplacer le paramètre dans chaque session (en exécutant une commande SQL) ou de modifier le comportement par défaut du client. La méthode dans la réponse ne fonctionnera pas. Je vais ajouter une réponse correcte.
Eyal Roth
1

Try SET SESSION autocommit = 0;This commute l' indicateur autocommit sur OFF dans cette session.

Cela a fonctionné pour moi.

Vijay
la source
1

Depuis MySQL Workbench 6.0.0, vous pouvez définir la préférence "Laisser le mode de validation automatique activé par défaut". Définissez-le sous Préférences -> Requêtes SQL -> Général.

Philippe
la source
1

Je commencerai par mentionner ma propre question sur le dépassement de capacité de la pile il y a environ un an. La question est un peu la même: comment définir la configuration du client pour MySQL Workbench sans un serveur installé?

Comme mentionné dans une réponse ici, à partir de MySQL WB 6, vous pouvez définir la préférence "laisser le mode de validation automatique activé par défaut" dans Préférences> Requêtes SQL> Général.

Pour les versions antérieures, il pourrait être possible de configurer le fichier "my.ini".
Pourquoi seulement "éventuellement"? Parce que cela fonctionnait pour moi auparavant (WB 5?), Mais ne fonctionne pas maintenant sur WB 6.3.

Premièrement, nous devons savoir où WB cherche le fichier. Il y a plusieurs questions sur ce sujet, vous devrez donc peut-être le modifier un peu (franchement, c'est un problème compliqué).
Le meilleur moyen, le cas échéant, consiste à accéder au menu Serveur, puis à appuyer sur "Fichier d'options". Il vous indiquera que le fichier n'existe pas (et vous indiquera le chemin recherché) ou ouvrira la configuration et spécifiera le chemin en bas.

Maintenant, nous devons ajouter la ligne suivante dans le fichier "my.ini", sous la [client]section (ajoutez-la également si elle n’existe pas):

init-command="SET autocommit=0"
Eyal Roth
la source