sql >> Databáze >  >> Database Tools >> phpMyAdmin

mysql dotaz ukazuje špatný výsledek

Mícháte typy. ID je celé číslo (nebo číslo). Přirovnáváte to k řetězci. MySQL se tedy musí rozhodnout, jaký typ použít pro srovnání. Jaké typy se používají? No, provázek? Ne. Číslo. Řetězec se převede na číslo pomocí úvodních číslic. Stává se tedy 101 a zápasy.

Měli byste skutečně porovnávat pouze čísla s čísly a řetězce s řetězci. Můžete zkusit napsat kód jako:

SELECT * FROM tableName WHERE ID = 101foo2

Dostanete však chybu. Další možností je vynutit převod na řetězec:

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



  1. phpMyAdmin EXTRÉMNĚ pomalý při načítání hlavní stránky databáze innoDB

  2. Při prvním otevření phpmyadmin z xamp nelze použít skalární hodnotu jako pole

  3. Konzola pro správu serveru SQL nefunguje s vícebajtovými znaky

  4. SQL Management Studio po vytvoření skriptu nerozpozná, že tabulka existuje