database - 使用 Postgres 复制整个表

标签 database postgresql copy

我试图在 Postgres 中将一个表的内容复制到另一个表中,但似乎有些行没有被正确复制:

ActiveRecord::StatementInvalid: PGError: ERROR: column "email_date" is of type timestamp without time zone but expression is of type character varying HINT: You will need to rewrite or cast the expression.

有什么方法可以让它自动跳过(或忽略)无效行?

这是我正在使用的查询:

SET statement_timeout = 0; INSERT INTO emails3 SELECT * FROM emails

最佳答案

正如消息所说,这不是“一些无效行”的问题,你有不兼容的类型 对于 email_date 列。要么修复它,要么在查询中写入显式转换。

更新:如果(看起来)您想要复制内容表的模式(即创建一个具有相同模式的新表并复制内容),您可以这样做只需一个 SELECT INTO .

关于database - 使用 Postgres 复制整个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2772976/

相关文章:

mysql - 将小型静态表合并到数据库中是一种好习惯吗?

MySql Master-Master 复制导致缺少自增值

sql - 带 array_to_string 的 Postgresql 请求

ruby-on-rails - Rails 4 不存储数据、种子或默认模型保存

excel - 复制粘贴值并转置

c# - 在 .net 2.0 中的两个流之间复制

c++ - 如何从字符串中复制每 16 个字节的数据?

java - 用Java显示存储在数据库中的图像

php - 为数据库表创建类/对象是否可以?

java - 为什么我的方法没有删除存在的表?