Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Tại sao SELECT ... WHERE id =a trả về kết quả nếu giá trị là 0

MySQL chuyển đổi âm thầm chuỗi thành số trong ngữ cảnh số.

Nó làm như vậy bằng cách chuyển đổi các ký tự số đứng đầu (chẳng hạn như chữ số, dấu trừ và dấu thập phân).

Nếu không có chữ số, nó sẽ dừng lại. Vì vậy:

where id = 'a'

được hiểu là:

where id = 0

Đạo đức:Không bao giờ sử dụng các dấu ngoặc kép xung quanh các hằng số - hoặc các hằng số phải là số.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Hiểu về BẢNG TRUNCATE của MySQL bằng các ví dụ thực tế

  2. Không tìm thấy nhà cung cấp Entity Framework cho nhà cung cấp ADO.NET 'MySql.Data.MySqlClient'

  3. Cảnh báo:mysql_num_rows ():đối số được cung cấp không phải là tài nguyên kết quả MySQL hợp lệ

  4. Tôi có thể phân trang một truy vấn tùy chỉnh mà không ghi đè phân trang mặc định không?

  5. Tại sao bạn không nên sử dụng mysql_fetch_assoc nhiều hơn 1 lần?