【发布时间】:2021-09-27 08:53:03
【问题描述】:
INSERT INTO table_name( a, b, c, d)
SELECT t1.a a, t1.b b, t1.c c, t1.d d
FROM table_name t1
AS t(a bigint, b character varying, c numeric, d numeric)
但我收到了 PG::SyntaxError: ERROR: syntax error at or near "AS"
请任何人帮助我。
【问题讨论】:
-
嘿@klin,感谢您的快速回复,但我在导入数据时需要像这样检查 30 列,我可以以更简单的方式添加所有 30 列吗?
-
您需要分别对每一列进行强制转换和别名:
select t1.a::bigint as a, ... -
如果你想改变列的类型,你必须使用ALTER TABLE。没有其他办法。
标签: sql postgresql sql-insert