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

Tại sao điều này:id trong Rails không hoạt động với Postgresql nhưng nó lại hoạt động với MySQL?

Rails sẽ tự động gọi to_i trên thông số của bạn cho một số , chủ yếu là những phương thức mà một số nguyên được mong đợi làm tham số, như Listing.find(params[:id]) .

Tuy nhiên, đối với các loại phương pháp tìm kiếm khác có thể chấp nhận chuỗi làm tham số, bạn sẽ cần gọi to_i theo cách thủ công

Listing.find_by_id(params[:id].to_i)
Listing.find(:conditions => ["id = ?", params[:id].to_i])

Lý do bạn không gặp vấn đề với MySQL là MySQL thực hiện những gì có hiệu lực là một to_i về phần cuối của nó (nghĩa là đây không phải là vấn đề về bộ điều hợp cơ sở dữ liệu, mà là khả năng của máy chủ cơ sở dữ liệu thực tế).




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách chèn nhiều hình ảnh vào bảng cơ sở dữ liệu MySQL với khóa ngoại tham chiếu đến một khóa chính duy nhất

  2. truy vấn mysql mất 46 giây - cần hiệu quả hơn

  3. last_insert_id () so với SELECT Max (ID)

  4. mysql nếu tồn tại

  5. Có bất kỳ đường hầm PHP MySQL HTTP phổ quát nào tốt không?