【发布时间】:2016-11-08 19:37:08
【问题描述】:
我有两个大表,有很多重复的值,我刚刚创建了一个新的数据库模式。现在,我必须提取所有数据以将它们插入到新表中。
但是,我遇到了一个问题:我想做的是从一张大表中提取一列(暂时),并将其插入到表中 Town(id_town ,town_name),其中 id_town 是一个自动递增的主键,如:
ALTER TABLE Town
ADD COLUMN id_town SERIAL PRIMARY KEY;
我这样做了,所以我可以提取所有城镇,并为每个城镇提供他们的特定 ID。 (如果你有更好的解决方案,我顺便采纳!)
所以,我正在尝试提取数据,但它不起作用:
INSERT INTO town
SELECT DISTINCT location
FROM old_table1
显示的错误告诉我它正在等待 id_town 的值;但是,根据我对递增值的理解,它应该自己生成。
我做错了什么?
我遇到的另一个问题:我想我有正确的语法从旧表中提取一列并将其放入新表中,但我真的不知道我应该如何提取特定的来自两个旧表之一的列,并将它们仅放在新表的某些列中:
例如,我有一个表,它有 6 列(包括自动递增 id),其中 3 列来自 old_table1,其中 2 列来自 old_table2。我应该如何提取数据?
非常感谢!
【问题讨论】:
标签: mysql database postgresql database-schema