Maison > base de données > tutoriel mysql > le corps du texte

Comment gérer la troncature des données et les paramètres d'erreur dans MySQL : mode strict ou troncature automatique ?

Linda Hamilton
Libérer: 2024-11-04 11:03:02
original
810 Les gens l'ont consulté

How to Manage Data Truncation and Error Settings in MySQL: Strict Mode vs. Automatic Truncation?

Gestion de la troncature des données MySQL et des paramètres d'erreur

Les bases de données MySQL ont des comportements différents lors de la gestion de chaînes trop longues lors des insertions. Une instance peut tronquer les données, tandis qu'une autre génère une erreur. Cette disparité peut être gérée via des paramètres MySQL spécifiques.

Comportement MySQL par défaut

Par défaut, MySQL fonctionne en mode "strict". Cela signifie que toute entrée dans les tableaux doit correspondre exactement aux spécifications des colonnes, y compris les restrictions de longueur. Si une chaîne dépasse la longueur définie, MySQL générera l'erreur suivante :

ERROR 1406 (22001): Data too long for column 'xxx' at row 1
Copier après la connexion

Désactivation du mode strict

Pour modifier ce comportement et autoriser la troncature automatique des chaînes trop longues chaînes, vous pouvez désactiver les paramètres du mode strict. MySQL propose deux paramètres associés :

  • STRICT_TRANS_TABLES : contrôle le mode strict pour les tables transactionnelles
  • STRICT_ALL_TABLES : contrôle le mode strict pour toutes les tables

Étapes pour désactiver le mode strict :

  1. Connectez-vous à votre base de données MySQL à l'aide d'un outil tel que MySQL Workbench ou de la ligne de commande.
  2. Émettez les commandes suivantes pour désactiver STRICT_TRANS_TABLES et STRICT_ALL_TABLES :
SET GLOBAL sql_mode = 'TRADITIONAL';
SET SESSION sql_mode = 'TRADITIONAL';
Copier après la connexion
  1. Vérifiez les nouveaux paramètres en exécutant SELECT @@sql_mode;.

Impact de la désactivation du mode strict

La désactivation du mode strict assouplit la validation des données de MySQL, permettant la troncature automatique des longues chaînes. Cependant, il est important de noter que cela peut potentiellement entraîner des pertes de données et des problèmes d’intégrité. Il est recommandé d'examiner attentivement les conséquences potentielles avant de désactiver le mode strict.

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!

source:php.cn
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!