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

mysql kaster automatisk strenge til heltal

Bare skriv dine forespørgsler, så de ikke bruger numeriske felter, som om de var tekstuelle.

Hvis id er et numerisk felt, derefter din where klausul kan aldrig være nyttig. Ja, det ville være godt, hvis MySQL aktivt klagede over det - men grundlæggende burde du ikke skrive kode, som kører dårlige forespørgsler til at starte med.

Hvordan kom den forespørgsel ind i dit system? Er 'asdf' del direkte brugerinput? Kan du bruge parameteriseret SQL i stedet?

Hvis du virkelig agter det for at forespørge i et numerisk felt, skal du først sørge for, at dit input er numerisk. Konverter teksten til et heltal i din opkaldskode, ikke i databasen.



  1. Ufanget undtagelse 'PDOException' med beskeden 'SQLSTATE[HY093]:Ugyldigt parameternummer'

  2. Hvorfor er varigheden NULL for tilbagevendende begivenhed i Android?

  3. Hvordan formaterer man bigint-felt til en dato i Postgresql?

  4. MySQL - VÆLG, JOIN