列 "birthdate" 是没有时区的时间戳类型,但表达式是文本类型

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)

我的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)
        )

我做错了什么?提前致谢。

只需更改 INSERT 中列的顺序,使其与要插入的值的顺序相对应:

INSERT INTO profile.profile(userId,name,gender,birthDate)