phpMyAdmin
 sql >> Database >  >> Database Tools >> phpMyAdmin

query mysql che mostra un risultato errato

Stai mescolando tipi. ID è un numero intero (o numero). Lo stai confrontando con una stringa. Quindi, MySQL deve decidere quale tipo utilizzare per il confronto. Quali tipi vengono utilizzati? Bene, una stringa? No. Un numero. La stringa viene convertita in un numero, utilizzando le cifre iniziali. Quindi, diventa 101 e partite.

Dovresti confrontare solo i numeri con i numeri e le stringhe con le stringhe. Potresti provare a scrivere il codice come:

SELECT * FROM tableName WHERE ID = 101foo2

Tuttavia, otterresti un errore. Un'altra possibilità è forzare la conversione in una stringa:

SELECT * FROM tableName WHERE CAST(ID as CHAR) = '101foo2'