This query throws an error: column "birthdate" is of type timestamp without time zone but expression is of type text
INSERT INTO profile.profile(name,gender,birthDate,userId)
SELECT
userId,
substr(md5(random()::text), 0, 5) AS name,
substr(md5(random()::text), 0, 2) AS gender,
to_timestamp('2021-08-09 13:57:40', 'YYYY-MM-DD hh24:mi:ss') AS birthDate
FROM
generate_series(1,10) AS y(userId)
My table:
CREATE TABLE profile.profile
(
id SERIAL NOT NULL,
name character varying NOT NULL,
gender character varying NOT NULL,
birthDate TIMESTAMP NOT NULL,
image character varying NOT NULL DEFAULT
'https://e7.pngegg.com/pngimages/274/947/png-clipart-computer-icons-user-business-believer-business-service-people.png',
userId integer NOT NULL,
CONSTRAINT UQ_profile_user UNIQUE (userId),
CONSTRAINT PK_profile PRIMARY KEY (id)
)
What am I doing wrong? Thanks in advance.
CodePudding user response:
just change the order of the columns in the INSERT
so that it corresponds to the order of the values to be inserted :
INSERT INTO profile.profile(userId,name,gender,birthDate)