Maison > base de données > tutoriel mysql > Pourquoi est-ce que je reçois une erreur « Valeur DOUBLE incorrecte tronquée » lors d'une MISE À JOUR MySQL ?

Pourquoi est-ce que je reçois une erreur « Valeur DOUBLE incorrecte tronquée » lors d'une MISE À JOUR MySQL ?

Susan Sarandon
Libérer: 2024-11-05 01:53:02
original
529 Les gens l'ont consulté

Why Am I Getting a

Troncation de double valeur incorrecte MYSQL lors de la MISE À JOUR

La requête de mise à jour SQL fournie tente de modifier les colonnes name et name_eng dans la table shop_category. Cependant, une erreur est rencontrée avec le message "Valeur DOUBLE incorrecte tronquée : 'Secolul XVI - XVIII'". Cette erreur se produit généralement lorsque vous tentez d'insérer ou de mettre à jour des données dans une colonne définie comme un type de données numérique (par exemple, DOUBLE, FLOAT) avec une valeur qui ne peut pas être représentée dans la précision ou l'échelle prédéfinie de la colonne.

Pour rectifier Pour résoudre ce problème, il est crucial de vérifier le type de données des colonnes name et name_eng. Selon la structure de table fournie, les deux colonnes sont définies comme varchar(250), indiquant qu'elles attendent des valeurs de chaîne plutôt que des valeurs numériques. Par conséquent, il est peu probable que l'erreur soit causée par un type de données incorrect.

Au lieu de cela, l'erreur peut être attribuée à une syntaxe incorrecte dans l'instruction UPDATE. Notez la présence du mot-clé AND entre les affectations name et name_eng. Cette syntaxe est incorrecte ; dans une instruction UPDATE, plusieurs affectations de colonnes doivent être séparées par des virgules sans utiliser AND.

Instruction de mise à jour corrigée :

L'instruction corrigée suivante mettra à jour avec succès les colonnes spécifiées :

<code class="sql">UPDATE 
    shop_category 
SET 
    name = 'Secolul XVI - XVIII', 
    name_eng = '16th to 18th centuries' 
WHERE 
    category_id = 4768</code>
Copier après la connexion

Cette instruction attribuera aux valeurs de chaîne 'Secolul XVI - XVIII' et '16th to 18th siècles' aux colonnes name et name_eng, respectivement, sans rencontrer d'erreurs.

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