Po prostu napisz zapytania tak, aby nie używały pól numerycznych tak, jakby były tekstowe.
Jeśli id
jest polem numerycznym, to Twoje where
klauzula nigdy nie może być użyteczna. Tak, byłoby dobrze, gdyby MySQL aktywnie narzekał na to - ale zasadniczo nie powinieneś pisać kodu, który uruchamia złe zapytania.
Jak to zapytanie dostało się do twojego systemu? Czy 'asdf'
? część bezpośrednio wprowadzana przez użytkownika? Czy możesz zamiast tego użyć sparametryzowanego SQL?
Jeśli naprawdę masz zamiar aby zapytać o pole liczbowe, upewnij się, że najpierw wprowadzasz dane liczbowe. Konwertuj tekst na liczbę całkowitą w kodzie wywołującym, nie w bazie danych.