[英]Importing data from one MYSQL table into another — the first table doesn't have the same amount of rows as second table
在詢問之前,我已經閱讀並搜索了這個答案。 我試圖將4個列的數據從一個MYSQL表導入另一個具有4列以上的MYSQL表。 正如我所料,我得到了
#1136 - 列數與第1行的值計數不匹配
有沒有人知道解決這個問題的伎倆?
我已經嘗試過了
INSERT INTO new_table(colname1,colname2,colname3,colname4)
SELECT 'colname1','colname2','colname3,'colname4' FROM old_table;
這會產生錯誤
1054'字段列表中的未知列'colname1'
我也試過了
INSERT INTO new_table
SELECT 'colname1,'colname2,'colname3','colname4'
FROM old_table;
這會產生錯誤
#1136列數與第1行的值計數不匹配
如果您嘗試INSERT INTO
具有不同列數的表,則應指定要插入的列。
因此,如果您有一個包含20列的表,並且您知道要插入第1列,第10列,第15列和第20列,那么您可以在插入中明確命名這些列。
與此類似:
INSERT INTO Table2 (col1, col10, col15, col20)
SELECT col1, col2, col3, col4
FROM Table1
您需要指定要插入的列
insert into destination_table (col1, col2, col3, col4)
select * from source_table
想一想:數據庫引擎應該如何知道哪個源列必須填充目標列?
刪除列名稱周圍的引號
INSERT INTO new_table(colname1, colname2, colname3, colname4)
SELECT colname1, colname2, colname3, colname4
FROM old_table;
如果要轉義列名,請改用反引號( `
)。
INSERT INTO new_table(colname1,colname2,colname3,colname4)
SELECT 'colname1','colname2','colname3,NULL FROM old_table;
只需在沒有可用列匹配的地方輸入NULL
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.