Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Porównanie liczb całkowitych MySQL ignoruje końcowe znaki alfa

W większości języków programowania powszechnym zachowaniem jest interpretowanie wiodących liczb jako liczby podczas konwersji ciągu na liczbę.

Można sobie z tym poradzić na kilka sposobów:

Użyj przygotowanych instrukcji i zdefiniuj symbol zastępczy, w którym umieszczasz wartość, aby była typu liczbowego. Zapobiegnie to w ogóle umieszczaniu tam napisów.

Sprawdź w wyższej warstwie aplikacji, aby sprawdzić poprawność danych wejściowych i upewnij się, że jest to numeryczne.

Użyj słowa kluczowego BINARY w mysql (zgaduję, że to zadziała, nigdy tego nie próbowałem, ponieważ zawsze wdrażałem odpowiedni system walidacji przed uruchomieniem zapytania) -

SELECT *
FROM table 
WHERE BINARY ID = '32anystring';


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Ostrzeżenie:mysql_query():podany argument nie jest prawidłowym zasobem MySQL-Link

  2. MySQL zapisuje wyniki EXECUTE w zmiennej?

  3. Usuń zduplikowane rekordy z tabeli bez pk lub id lub unikalnych kolumn w mysql

  4. Wydrukować dane hierarchiczne w postaci nadrzędnej potomnej z nieuporządkowanej listy php?

  5. Czy przechowywanie plików graficznych w bazie danych Mongo to dobry pomysł?