【发布时间】:2021-12-27 00:05:25
【问题描述】:
此查询引发错误:列“birthdate”是没有时区的时间戳类型,但表达式是文本类型
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)
我的桌子:
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)
)
我做错了什么?提前致谢。
【问题讨论】:
-
您的插入语句正在尝试将性别插入到birth_date 列中。所有人的订单/数据都是错误的。