[英]Copy data from different MySQL databases tables and different column names
[英]MySQL copy column from different tables, insert at top of table
我正在嘗試將幾個表合並在一起以合並數據,但是當我嘗試將列從一個表插入到另一個表時,我正在使用的查詢在表中的最后一個當前存在的記錄之后插入記錄。 有很多關於重復列的問題,但它們似乎都是從一個空表開始。
INSERT INTO newTable( newColumn ) SELECT oldColumn FROM oldTable
如何修改此查詢以在表的開頭而不是結尾插入行?
可視化表示正在發生的事情(左)與我想要發生的事情(右):
+--------+--------+------------+ +--------+--------+------------+
| ID | Column | newColumn | | ID | Column | newColumn |
+--------+--------+------------+ +--------+--------+------------+
| 1 | 12345 | | | 1 | 12345 | 12345 |
| 2 | 12345 | | | 2 | 12345 | 12345 |
| 3 | 12345 | | | 3 | 12345 | 12345 |
| 4 | | 12345 | +--------+--------+------------+
| 5 | | 12345 |
| 6 | | 12345 |
+--------+--------+------------+
如評論中所述,您需要UPDATE語句而不是 INSERT語句:
UPDATE newTable
JOIN oldTable
ON newTable.id = oldTable.id
SET newcolumn = oldcolumn;
這里可以看到一個經過測試的例子: http : //sqlfiddle.com/#!2/77724/1
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.