Mysql
 sql >> база данни >  >> RDS >> Mysql

Защо SELECT ... WHERE id =a връща резултат, ако стойността е 0

MySQL безшумно преобразува низовете в числа в числов контекст.

Това става чрез преобразуване на водещите цифрови знаци (като цифри, знак минус и десетична запетая).

Ако няма цифри, спира. И така:

where id = 'a'

се интерпретира като:

where id = 0

Морално:Никога не използвайте единични кавички около числови константи – или константи, които трябва да са числа.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Изпращане на променливи в URL адреси в PHP с ехо

  2. PostgreSQL еквивалент за MySQL GROUP BY

  3. Данните не се подават в SQL база данни с помощта на MySQLi и PHP

  4. колко типа съединения има в mysql или sql

  5. Как да ускоря sql заявките? Индекси?