插入 (INSERT INTO) a table 到另一个包含序列 (SERIAL) 的 table

Insert (INSERT INTO) a table into another table containing a sequence (SERIAL)

我有一个主要 table 创建为:

    CREATE TABLE main_data
    (
      id SERIAL NOT NULL,
      name character varying(249),
      telephone character varying(248)
    )

虽然我得到了一个新的 table backup_date,其中仅包含姓名和电话,但我将其还原并添加到我的数据库中。

现在我想将 backup_date 添加到 main_data 以便当 backup_date table 添加到 main_table 时它会自动继续id 的序列。我该怎么做?

注意经过大量搜索,我只能得到这个解决方案;

INSERT INTO users (name, age, id) VALUES ('Mozart', 20, DEFAULT);

因为我在 backup_date 中有大量数据,所以我无法使用它。

如果我没猜错,你只需要:

insert into main_data (name,telephone) select name,telephone from backup_date 

嗨,哈桑 -

如果您的 ID 列是自动递增的,那么您的代码将是 -

insert into main_data (name,telephone) select name,telephone from backup_date where [your condition]

如果你的ID列不是自动递增那么先设置它自动递增然后执行上面的查询。谢谢:)