sql >> Databasteknik >  >> RDS >> Mysql

Varför fungerar inte detta :id i Rails med Postgresql men det fungerar med MySQL?

Rails anropar automatiskt to_i på din parameter för vissa metoder, främst de där ett heltal förväntas som en parameter, som Listing.find(params[:id]) .

Men för andra typer av sökmetoder som kan acceptera strängar som parametrar, måste du manuellt anropa to_i

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

Anledningen till att du inte har problem med MySQL är att MySQL gör vad som i praktiken skulle vara en to_i i slutet (dvs. det är inte ett problem med databasadapter, utan snarare en funktion hos den faktiska databasservern).




  1. Skriver i ExcelSheet med UTL_FILE-paketet i Oracle

  2. Fatalt fel:Anrop till odefinierad funktion mysql_connect_errno() in

  3. LISTAGG() Funktion i Oracle

  4. PHP - Importera CSV-fil till mysql-databas med LOAD DATA INFILE