Maison base de données tutoriel mysql Apprenez-vous une astuce pour corriger le paramètre sql_mode dans mysql

Apprenez-vous une astuce pour corriger le paramètre sql_mode dans mysql

Aug 05, 2021 am 09:22 AM
sql_mode

sql_mode est une variable qui est facilement négligée. La valeur par défaut est nulle. Avec ce paramètre, certaines opérations illégales peuvent être autorisées, comme autoriser l'insertion de certaines données illégales. Cette valeur doit être définie sur le mode strict dans l'environnement de production, de sorte que les bases de données dans les environnements de développement et de test doivent également être définies afin que les problèmes puissent être découverts pendant la phase de développement et de test.

1 Les autorisations avancées ne prennent effet qu'à la prochaine connexion, n'affectent pas la session en cours et deviennent invalides après le redémarrage de MySQL, car MySQL relira les valeurs correspondantes dans le fichier de configuration au redémarrage s'il en a besoin. pour être permanent, vous devez modifier la valeur dans le fichier de configuration.

select @@session.sql_mode;
Copier après la connexion
select @@global.sql_mode;
Copier après la connexion

Enregistrez et quittez, redémarrez le serveur, cela prendra effet définitivement

Les valeurs communes de sql_mode sont les suivantes :

ONLY_FULL_GROUP_BY


Pour les opérations d'agrégation GROUP BY, si les colonnes de SELECT n'apparaissent pas dans GROUP BY, alors ce SQL est illégal car la colonne n'est pas dans la clause GROUP BY

NO_AUTO_VALUE_ON_ZERO

Cette valeur affecte l'insertion de colonnes à augmentation automatique. Dans les paramètres par défaut, l'insertion de 0 ou NULL représente la génération de la prochaine valeur auto-augmentante. Cette option est utile si l'utilisateur souhaite insérer une valeur de 0 et que la colonne s'augmente automatiquement.

STRICT_TRANS_TABLES

Dans ce mode, si une valeur ne peut pas être insérée dans une table de transactions, l'opération en cours sera interrompue, et il n'y aura aucune limite sur les tables non-transaction

NO_ZERO_IN_DATE

En mode strict , non autorisé La date ou le mois est zéro Tant que le mois ou le jour de la date contient une valeur 0, une erreur sera signalée, sauf pour '0000-00-00'

NO_ZERO_DATE

Définissez cette valeur. , la base de données mysql ne permet pas l'insertion de dates nulles, insérer des dates nulles générera une erreur au lieu d'un avertissement. Tout élément de l'année, du mois et du jour qui n'est pas 0 répond aux exigences. Seul « 0000-00-00 » signalera une erreur

ERROR_FOR_pISION_BY_ZERO

Pendant le processus INSERT ou UPDATE, si les données sont divisées par zéro. , une erreur sera générée au lieu d'un avertissement. Si le mode n'est pas donné, MySQL renvoie NULL lorsque les données sont divisées par zéro

update table set num = 5 / 0 ; une erreur sera signalée après la définition du mode. S'il n'est pas défini, la modification est réussie. num est nul

NO_AUTO_CREATE_USER

Désactivez GRANT pour créer des utilisateurs avec des mots de passe vides

NO_ENGINE_SUBSTITUTION

Lance une erreur si le moteur de stockage requis est désactivé ou n'est pas compilé. Lorsque cette valeur n'est pas définie, le moteur de stockage par défaut est utilisé à la place et une exception est levée

PIPES_AS_CONCAT

traite "||" comme un opérateur de connexion de chaîne au lieu d'un opérateur OR, ce qui est identique à la base de données Oracle. Elle est également similaire à la fonction d'épissage de chaîne Concat

ANSI_QUOTES

Après avoir activé ANSI_QUOTES, vous ne pouvez pas utiliser de guillemets doubles pour citer la chaîne car elle est interprétée comme un identifiant

Recommandations associées : "tutoriel mysql

"

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Repo: Comment relancer ses coéquipiers
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Réduisez l'utilisation de la mémoire MySQL dans Docker Réduisez l'utilisation de la mémoire MySQL dans Docker Mar 04, 2025 pm 03:52 PM

Cet article explore l'optimisation de l'utilisation de la mémoire MySQL dans Docker. Il traite des techniques de surveillance (statistiques Docker, du schéma de performance, des outils externes) et des stratégies de configuration. Il s'agit notamment des limites de mémoire Docker, de l'échange et des CGROUP, à côté

Comment résoudre le problème de MySQL ne peut pas ouvrir la bibliothèque partagée Comment résoudre le problème de MySQL ne peut pas ouvrir la bibliothèque partagée Mar 04, 2025 pm 04:01 PM

Cet article aborde l'erreur "Implom Open Open Wibrary" de MySQL. Le problème découle de l'incapacité de MySQL à localiser les bibliothèques partagées nécessaires (fichiers .so / .dll). Les solutions impliquent la vérification de l'installation de la bibliothèque via le package du système m

Comment modifier une table dans MySQL en utilisant l'instruction ALTER TABLE? Comment modifier une table dans MySQL en utilisant l'instruction ALTER TABLE? Mar 19, 2025 pm 03:51 PM

L'article discute de l'utilisation de l'instruction ALTER TABLE de MySQL pour modifier les tables, notamment en ajoutant / abandon les colonnes, en renommant des tables / colonnes et en modifiant les types de données de colonne.

Exécutez MySQL dans Linux (avec / sans conteneur Podman avec phpmyadmin) Exécutez MySQL dans Linux (avec / sans conteneur Podman avec phpmyadmin) Mar 04, 2025 pm 03:54 PM

Cet article compare l'installation de MySQL sur Linux directement par rapport à l'utilisation de conteneurs Podman, avec / sans phpmyadmin. Il détaille les étapes d'installation pour chaque méthode, mettant l'accent sur les avantages de Podman isolément, portabilité et reproductibilité, mais aussi

Qu'est-ce que Sqlite? Aperçu complet Qu'est-ce que Sqlite? Aperçu complet Mar 04, 2025 pm 03:55 PM

Cet article fournit un aperçu complet de SQLite, une base de données relationnelle autonome et sans serveur. Il détaille les avantages de SQLite (simplicité, portabilité, facilité d'utilisation) et les inconvénients (limitations de concurrence, défis d'évolutivité). C

Exécuter plusieurs versions MySQL sur macOS: un guide étape par étape Exécuter plusieurs versions MySQL sur macOS: un guide étape par étape Mar 04, 2025 pm 03:49 PM

Ce guide démontre l'installation et la gestion de plusieurs versions MySQL sur MacOS à l'aide de Homebrew. Il met l'accent sur l'utilisation de Homebrew pour isoler les installations, empêchant les conflits. L'article détaille l'installation, les services de démarrage / d'arrêt et le meilleur PRA

Comment configurer le cryptage SSL / TLS pour les connexions MySQL? Comment configurer le cryptage SSL / TLS pour les connexions MySQL? Mar 18, 2025 pm 12:01 PM

L'article discute de la configuration du cryptage SSL / TLS pour MySQL, y compris la génération et la vérification de certificat. Le problème principal est d'utiliser les implications de sécurité des certificats auto-signés. [Compte de caractère: 159]

Quels sont les outils de GUI MySQL populaires (par exemple, MySQL Workbench, PhpMyAdmin)? Quels sont les outils de GUI MySQL populaires (par exemple, MySQL Workbench, PhpMyAdmin)? Mar 21, 2025 pm 06:28 PM

L'article traite des outils de GUI MySQL populaires comme MySQL Workbench et PhpMyAdmin, en comparant leurs fonctionnalités et leur pertinence pour les débutants et les utilisateurs avancés. [159 caractères]

See all articles