phpMyAdmin
 sql >> Baza danych >  >> Database Tools >> phpMyAdmin

zapytanie mysql pokazuje zły wynik

Mieszacie typy. ID jest liczbą całkowitą (lub liczbą). Porównujesz to do łańcucha. Dlatego MySQL musi zdecydować, jakiego typu użyć do porównania. Jakie typy są używane? Cóż, sznurek? Nie. Numer. Ciąg jest konwertowany na liczbę przy użyciu wiodących cyfr. Tak więc staje się 101 i mecze.

Tak naprawdę powinieneś porównywać tylko liczby z liczbami i łańcuchy z łańcuchami. Możesz spróbować napisać kod jako:

SELECT * FROM tableName WHERE ID = 101foo2

Otrzymasz jednak błąd. Inną możliwością jest wymuszenie konwersji na ciąg:

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



  1. DBeaver
  2.   
  3. phpMyAdmin
  4.   
  5. Navicat
  6.   
  7. SSMS
  8.   
  9. MySQL Workbench
  10.   
  11. SQLyog
  1. Jak napisać SP w phpMyAdmin (MySQL)?

  2. przesyłanie formularza php do bazy danych mysql

  3. Łatwy sposób na zmianę kolejności kolumn?

  4. odmowa dostępu dla użytkownika po przeniesieniu bazy danych MySQL na zdalny serwer

  5. Format daty CSV na format daty MySQL