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

mysql-query met verkeerd resultaat

Je mengt soorten. ID is een geheel getal (of getal). Je vergelijkt het met een string. MySQL moet dus beslissen welk type voor de vergelijking moet worden gebruikt. Welke soorten worden gebruikt? Nou, een touwtje? Nee. Een nummer. De tekenreeks wordt omgezet in een getal met behulp van de voorloopcijfers. Het wordt dus 101 en wedstrijden.

Je moet eigenlijk alleen getallen met getallen vergelijken, en strings met strings. Je zou kunnen proberen de code te schrijven als:

SELECT * FROM tableName WHERE ID = 101foo2

U krijgt echter een foutmelding. Een andere mogelijkheid is om de conversie naar een string te forceren:

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



  1. Hoe de information_schema-database te verbergen voor phpmyadmin

  2. MySQL-dumpbestand en becommentarieerde regels

  3. Tabel maken mislukt in mysql bij gebruik van CURDATE() als standaard

  4. Onverwachte EOF aangetroffen in BCP-gegevensbestand