Comment désactiver le mode strict dans MySQL ?
Sep 14, 2023 pm 06:01 PMLa gestion des valeurs manquantes ou incorrectes dans les requêtes qui modifient les données est contrôlée par le mode strict de MySQL. Il s'agit notamment des instructions CREATE TABLE, UPDATE et INSERT. Lorsque vous essayez de traiter une requête avec le mode strict MySQL activé (par défaut), des données invalides ou manquantes peuvent provoquer des avertissements ou des échecs.
Lorsque le mode strict est désactivé, la même requête verra ses données manquantes ou incorrectes modifiées et entraînera un avertissement immédiat. Cela semble être le résultat souhaité, mais lorsque le mode strict est désactivé, certaines activités peuvent avoir des effets inattendus. Par exemple, si vous ajoutez une valeur et que son nombre de caractères dépasse le nombre autorisé, la valeur sera tronquée pour s'adapter.
Le mode strict de MySQL est toujours activé. Il peut être désactivé de différentes manières.
Désactiver le mode strict via SQL
Vous pouvez utiliser cette méthode pour désactiver le mode strict sur le serveur MySQL en exécutant la commande suivante.
mysql -u root -p -e "SET GLOBAL sql_mode = 'NO_ENGINE_SUBSTITUTION';"
Vous pouvez maintenant vérifier que le mode est défini en exécutant la commande suivante -
mysql -u root -p -e "SELECT @@GLOBAL.sql_mode;"
Désactiver le mode strict via my.cnf/my.ini :
Pour modifier, lancez le fichier my.ini ou my.cnf (lequel vous possédez dépend si vous utilisez Windows ou Linux).
Retrouvez la ligne suivante
sql_mode = "STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
Changez-le par la ligne suivante :
Si la section [mysqld] n'est pas trouvée, insérez la ligne sous cette section (s'il n'y a pas de section [mysqld], créez-la).
Create mysqlId in the following way: sql_mode= ""
Pour que la modification prenne effet, veuillez redémarrer le service MySQL.
Si le redémarrage n'est pas possible maintenant, vous pouvez accéder au serveur de base de données et utiliser les commandes répertoriées ci-dessous pour que les modifications prennent effet immédiatement. Si vous n'effectuez pas les étapes ci-dessus, les modifications seront perdues au prochain redémarrage du service MySQL.
set global sql_mode='';
Quelle que soit la raison pour laquelle les administrateurs MySQL doivent désactiver le mode strict, cela est un processus simple. Vous pouvez utiliser cette méthode pour désactiver le mode strict MySQL sur le serveur.
Cette règle s'applique à l'édition Standard, à l'édition Standard (multilingue), à l'édition Enterprise (MySQL), à l'édition Enterprise multilingue (MySQL), à l'édition Enterprise (SQL Server) et à l'édition Enterprise (MySQL) (SQL Server)
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!

Article chaud

Outils chauds Tags

Article chaud

Tags d'article chaud

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

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

Sujets chauds

Réduisez l'utilisation de la mémoire MySQL dans Docker

Comment modifier une table dans MySQL en utilisant l'instruction ALTER TABLE?

Comment résoudre le problème de MySQL ne peut pas ouvrir la bibliothèque partagée

Exécutez MySQL dans Linux (avec / sans conteneur Podman avec phpmyadmin)

Exécuter plusieurs versions MySQL sur macOS: un guide étape par étape

Quels sont les outils de GUI MySQL populaires (par exemple, MySQL Workbench, PhpMyAdmin)?

Comment sécuriser MySQL contre les vulnérabilités communes (injection SQL, attaques par force brute)?
