Rédigez simplement vos requêtes de manière à ce qu'elles n'utilisent pas de champs numériques comme s'il s'agissait de champs textuels.
Si id
est un champ numérique, puis votre where
clause ne peut jamais être utile. Oui, ce serait bien si MySQL s'en plaignait activement - mais fondamentalement, vous ne devriez pas écrire de code qui exécute de mauvaises requêtes pour commencer.
Comment cette requête est-elle entrée dans votre système ? Est-ce que 'asdf'
entrée directe de l'utilisateur en partie ? Pouvez-vous utiliser du SQL paramétré à la place ?
Si vous avez vraiment l'intention pour interroger un champ numérique, vous devez d'abord vous assurer que votre entrée est numérique. Convertissez le texte en entier dans votre code d'appel, pas dans la base de données.