[英]how to insert data from an existing table (aggregated data), to another existing table on mysql?
[英]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.