Mysql
 sql >> Database >  >> RDS >> Mysql

mysql esegue automaticamente il cast di stringhe su intero

Scrivi le tue query in modo che non utilizzino campi numerici come se fossero testuali.

Se id è un campo numerico, quindi il tuo where la clausola non può mai essere utile. Sì, sarebbe positivo se MySQL se ne lamentasse attivamente, ma fondamentalmente non dovresti scrivere codice che esegue query errate per cominciare.

In che modo quella query è entrata nel tuo sistema? 'asdf' input dell'utente in parte diretto? Puoi invece usare SQL parametrizzato?

Se sei veramente intenzionato per interrogare un campo numerico, assicurati che il tuo input sia prima numerico. Converti il ​​testo in un numero intero nel tuo codice di chiamata, non nel database.