sql >> Database teknologi >  >> RDS >> Mysql

Hvorfor virker dette :id i Rails ikke med Postgresql, men det virker med MySQL?

Rails vil automatisk kalde to_i på din parameter for nogle metoder, hovedsageligt dem, hvor et heltal forventes som en parameter, såsom Listing.find(params[:id]) .

Men for andre typer søgemetoder, der kan acceptere strenge som parametre, skal du manuelt kalde to_i

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

Grunden til, at du ikke har et problem med MySQL er, at MySQL gør, hvad der i virkeligheden ville være en to_i på sin ende (dvs. det er ikke et database-adapterproblem, men snarere en egenskab hos den faktiske databaseserver).




  1. Hvordan får jeg SQLAlchemy til korrekt at indsætte en unicode-ellipsis i en mySQL-tabel?

  2. Hvordan kan jeg importere data fra ASCII (ISO/IEC 8859-1) til min Rails/PGSQL-database?

  3. Php - Din PHP-installation ser ud til at mangle MySQL-udvidelsen, som kræves af WordPress

  4. Visning af data fra en database ved hjælp af PDO