MySQL 'Tronqué incorrecte la valeur entière"

Je reçois un étrange "Tronquée incorrecte la valeur entière" erreur quand je lance la requête mise à JOUR suivante:

update tbl
set projectNumber = right(comments, 7)
where createdBy = 'me'
and length(CONVERT(right(comments, 7), SIGNED INTEGER)) = 7 
and CONVERT(right(comments, 7), SIGNED INTEGER) > 0
and CONVERT(right(comments, 7), SIGNED INTEGER) is not null
and createdOn > '2011-01-31 12:00:00'
and projectNumber is null

projectNumber est de type varchar(10).

Quand je le lance comme un droit, sélectionnez je n'obtiens pas d'erreur et de voir des résultats comme prévu. Des idées? Essentiellement, je suis en train de mettre à jour le projectNumber domaine où la fin des commentaires dans les notes 7 caractères numériques (mais projectNumber ne sont pas toujours 7 numérique, c'est pourquoi le champ est de type varchar(10)).

OriginalL'auteur Todd Sharp | 2011-02-09