sql >> Databasteknik >  >> RDS >> PostgreSQL

Postgres-fel med Sinatra/Haml/DataMapper på Heroku

Det ser ut som att post_id är av typen TEXT istället för INTEGER. För att fixa detta måste du ändra datatypen. Detta har ändrats i version 8.3, äldre version har en implicit roll. Du kan be PostgreSQL att göra det:

CREATE FUNCTION pg_catalog.text(integer) RETURNS text STRICT IMMUTABLE LANGUAGE SQL AS 'SELECT textin(int4out($1));';
CREATE CAST (integer AS text) WITH FUNCTION pg_catalog.text(integer) AS IMPLICIT;

CREATE FUNCTION pg_catalog.text(smallint) RETURNS text STRICT IMMUTABLE LANGUAGE SQL AS 'SELECT textin(int2out($1));';
CREATE CAST (smallint AS text) WITH FUNCTION pg_catalog.text(smallint) AS IMPLICIT;

CREATE FUNCTION pg_catalog.text(bigint) RETURNS text STRICT IMMUTABLE LANGUAGE SQL AS 'SELECT textin(int8out($1));';
CREATE CAST (bigint AS text) WITH FUNCTION pg_catalog.text(bigint) AS IMPLICIT;

Se även http://wiki.postgresql.org/wiki/Image :Pg83-implicit-casts.sql




  1. SQL Server - Transponera rader till kolumner

  2. Hur avgör man om en MySQL-fråga är giltig?

  3. Java hämta ResultSet från SQL Array misslyckas

  4. MySqlDataReader.GetStream() kastar IndexOutOfRangeException