sql >> Databáze >  >> RDS >> Mysql

Porovnání celých čísel MySQL ignoruje koncové alfa znaky

Ve většině programovacích jazyků je běžné interpretovat úvodní číslice jako číslo při převodu řetězce na číslo.

Existuje několik způsobů, jak to vyřešit:

Použijte připravené příkazy a definujte zástupný symbol, kam vkládáte hodnotu, aby byl číselného typu. Tím zabráníte tomu, aby se tam vůbec vkládaly řetězce.

Zkontrolujte na vyšší vrstvě aplikace, abyste ověřili vstup a ujistěte se, že je číselný.

Použijte klíčové slovo BINARY v mysql (jen hádám, že by to fungovalo, nikdy jsem to nezkoušel, protože jsem vždy před spuštěním dotazu implementoval správný ověřovací systém) -

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


  1. Přečtěte si o oprávněních na úrovni tabulky MySQL

  2. Jak CONCAT_WS() funguje v PostgreSQL

  3. Připravená mezipaměť příkazů s MySQL a JDBC

  4. Deaktivace účtu SA v SQL Server (příklad T-SQL)