Comment faire pour résoudre MySQL Code d'Erreur: 1292. Tronquée incorrect DOUBLE de la valeur?
Je suis en train de mettre à jour 2 tables différentes avec une requête de mise à jour comme indiqué ci-dessous
UPDATE db1.table1 a, db2.table1 b
SET b.firstname = a.firstname,
b.lastname = a.lastname,
b.address = a.address,
b.state = a.state,
b.city = a.city,
b.zip = a.zip
WHERE a.stud_id=b.stud_id AND a.firstname IS NOT NULL AND b.firstname IS NULL
AND str_to_date(a.joindate,'%m/%d/%Y') >= str_to_date('02/01/2012','%m/%d/%Y');
mais quand j'ai essayé d'exécuter cette requête, MySQL continué de lancer des boules d'erreur suivant
Error Code: 1292. Truncated incorrect DOUBLE value: 'CROUGH0000'
Si j'ai trouvé beaucoup des postes similaires dans stackoverflow, je ne pouvais pas trouver la solution exacte à ce problème.
Besoin d'aide. Merci d'avance
EDIT : Type de données de chaque colonne sont comme suit
b.firstname(varchar(25)) = a.firstname(varchar(52)),
b.lastname(varchar(25)) = a.lastname(varchar(35)),
b.address(varchar(40)) = a.address(varchar(50)),
b.state(char(2)) = a.state(char(2)),
b.city(varchar(25)) = a.city(varchar(25)),
b.zip(varchar(11)) = a.zip(varchar(11))
- S'il vous plaît ajouter les types de données pour
stud_id
etjoindate
dans chaque table. Aussi, s'il vous plaît dites-nous d'où la valeur'CROUGH0000'
vient d'où? C'est que stud_id?
Vous devez vous connecter pour publier un commentaire.
Pour moi, cette erreur a été montrant parce que j'ai été à l'aide de " et "mettre à jour 2 Requêtes au lieu d'une "virgule'.
Cet extrait illustre l'erreur:
Cet extrait illustre la correction:
Si toutes les colonnes sont de type varchar (comme vous l'avez indiqué ci-dessus), alors le problème doit être avec
a.stud_id=b.stud_id
.Vérifier vos types de données dans les deux tableaux a et b. Quelque chose doit être d'un lit DOUBLE ou MySQL ne serait pas à s'en plaindre.
Je pense que
joindate
colonne contient une valeur de Chaîne qui n'est pas de Chaîne de caractères Date.De vérifier que, si possible, je vous propose de tester commande SQL suivante
Si ce travail, rien n'a été changé, mais vous savez que votre problème est lié à
joindate
champ oustr_to_date
fonction.Attention: b.le prénom est attribué à la même valeur -> rien n'est changé