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

'False' có thể khớp với một số chuỗi trong mysql không?

Trong MYSQL, FALSE không phải là một giá trị boolean, nó là một số nguyên, cụ thể hơn là số không. Trên thực tế, MySQL không có kiểu cột boolean (nó có BOOLBOOLEAN nhưng chúng chỉ là bí danh của TINYINT ). Vì vậy, truy vấn của bạn là từ đồng nghĩa với:

SELECT * FROM session WHERE token = 0

Kể từ khi token là một VARCHAR, MySQL cần chuyển đổi chuỗi của bạn thành số. Chạy truy vấn này và bạn sẽ có ý tưởng về các quy tắc:

SELECT
    0 + "0001",
    0 + "123abc",
    0 + "abc123"

Do đó, fa356333dd3ee8f1b18b8bf0a827e34c chuyển thành 0 bởi vì nó bắt đầu bằng một chữ cái, do đó phù hợp.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Xếp hạng với hàng triệu mục nhập

  2. làm thế nào để đếm tổng số bình luận

  3. Cách xóa các bản sao trong bảng SQL dựa trên nhiều trường

  4. bản ghi android / php không chèn vào mysql

  5. EXISTS có hiệu quả hơn COUNT (*)> 0 không?