簡體   English   中英

如何將另一個表中的數據插入具有自動遞增ID的現有表中?

[英]How to insert data from another table into an existing table, with an autoincrementing id?

我有兩個海量表,具有很多重復的值,並且我剛剛創建了一個新的數據庫模式。 現在,我必須提取所有數據以將它們插入新表中。

但是,我遇到一個問題:我想做的是(從當前位置)從一個大表中提取一列,並將其插入到具有ID_town的表Town(id_town,town_name)中是自動遞增的主鍵,例如:

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。 我應該如何提取數據?

非常感謝 !

嘗試這個

INSERT INTO town (town_name)
SELECT DISTINCT location
FROM old_table1

如果不為所有列提供值,則應顯式指定要插入的列

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM