Maison >base de données >tutoriel mysql >MySQL peut-il être configuré pour tronquer les données excessivement longues de manière cohérente ?

MySQL peut-il être configuré pour tronquer les données excessivement longues de manière cohérente ?

DDD
DDDoriginal
2024-11-07 02:24:03922parcourir

Can MySQL be Configured to Truncate Excessively Long Data Consistently?

Troncation des données MySQL ou gestion des erreurs

MySQL gère la troncature des données différemment en fonction de ses paramètres. Dans certains cas, il tronque silencieusement les données excessives, tandis que dans d'autres, il génère une erreur.

Problème :

Un utilisateur dispose de deux instances MySQL dont une tronque les données. quand c'est trop long, et l'autre génère une erreur.

Question :

Existe-t-il un moyen de configurer MySQL pour tronquer systématiquement les données trop longues, similaire au premier exemple ?

Réponse :

Oui, la désactivation des paramètres du mode SQL STRICT_TRANS_TABLES et STRICT_ALL_TABLES permettra la troncature automatique des chaînes insérées.

Mise en œuvre :

SET GLOBAL sql_mode = '...,-STRICT_TRANS_TABLES,-STRICT_ALL_TABLES';

Explication :

STRICT_TRANS_TABLES et STRICT_ALL_TABLES appliquent des règles de validation des données plus strictes. La désactivation de ces paramètres assouplit la validation, permettant une troncature automatique.

Référence :

Modes SQL de MySQL Server : https://dev.mysql.com/doc/refman /8.0/fr/sql-mode.html

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:
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