Bonjour,

Au sein d'un trigger, j'effectue un cast d'un text vers un integer. Mon problème est que quand j'effectue la requête manuellement, le casting passe très bien.
Mon last data est un varchar(50) et contient : "253487";

Ce code fonctionne à merveille
Code : Sélectionner tout - Visualiser dans une fenêtre à part
SELECT text from product_attribute where attribute_id = CAST(last_data AS UNSIGNED ) and product_id =1 ;
Celui-ci(qui est à l'intérieur d'un trigger) ne fonctionne pas :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
SELECT text as a into vattr_name from product_attribute where attribute_id = CAST(last_data AS UNSIGNED) and product_id = new.product_id ;
et voici dans le log mysql, ce que ça dit :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
3372 Query	SELECT texte as a into vattr_name from product_attribute where attribute_id = CAST( NAME_CONST('last_data',_ u c s 2'\02\05\03\04\08\07'   C O L L A T E   ' u c s 2 _ g e n e r a l _ c i') AS UNSIGNED) and product_id = new.product_id
et ça donne une série de null, si je vous montre via un printscreen

Nom : erreur.jpg
Affichages : 108
Taille : 26,9 Ko

Comment se fait-il que manuellement ça fonctionne, et que dans le log l'erreur est bien là, le cast ne passe pas et plante?
Problème d'encodage? j'ai essayé tout ce qui me passait par la tête mais rien n'y fait

Milles remerciements à quiconque peut me donner une piste pour trouver ce problème

benjamin122