将数据从一个MYSQL表导入到另一个MYSQL表——第一个表不会';t的行数与第二个表的行数相同
在提问之前,我已经阅读并寻找了这个问题的答案。我正在尝试将4列数据从一个MYSQL表导入另一个具有4列以上的MYSQL表。正如我所料,我得到了 #1136-列计数与第1行的值计数不匹配' 有人知道回避这个问题的诀窍吗 后记 我已经试过使用将数据从一个MYSQL表导入到另一个MYSQL表——第一个表不会';t的行数与第二个表的行数相同,mysql,sql,Mysql,Sql,在提问之前,我已经阅读并寻找了这个问题的答案。我正在尝试将4列数据从一个MYSQL表导入另一个具有4列以上的MYSQL表。正如我所料,我得到了 #1136-列计数与第1行的值计数不匹配' 有人知道回避这个问题的诀窍吗 后记 我已经试过使用 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,'colname4' FROM old_table;
这会产生错误
1054字段列表中的未知列“colname1”
我也试过了
INSERT INTO new_table
SELECT 'colname1,'colname2,'colname3','colname4'
FROM old_table;
这会产生错误
#1136列计数与第1行的值计数不匹配
如果您试图
插入到具有不同列数的表中,则应指定要插入的列
因此,如果您有一个包含20列的表,并且您知道要插入到第1列、第10列、第15列和第20列,那么您可以在insert中显式地命名这些列
与此类似:
INSERT INTO Table2 (col1, col10, col15, col20)
SELECT col1, col2, col3, col4
FROM Table1
如果您试图插入到具有不同列数的表中,则应指定要插入的列
因此,如果您有一个包含20列的表,并且您知道要插入到第1列、第10列、第15列和第20列,那么您可以在insert中显式地命名这些列
与此类似:
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
想想看:DB引擎应该如何知道哪个源列必须填充哪个目标列
更新
删除列名周围的引号
INSERT INTO new_table(colname1, colname2, colname3, colname4)
SELECT colname1, colname2, colname3, colname4
FROM old_table;
如果要转义列名,请改用反勾号(`
)。您需要指定要插入的列
insert into destination_table (col1, col2, col3, col4)
select * from source_table
想想看:DB引擎应该如何知道哪个源列必须填充哪个目标列
更新
删除列名周围的引号
INSERT INTO new_table(colname1, colname2, colname3, colname4)
SELECT colname1, colname2, colname3, colname4
FROM old_table;
如果要转义列名,请改用反勾号(`
)
只要在没有可用于匹配
只要在没有可匹配的列的地方输入NULL即可我已经尝试过了。我更新了我原来的问题,以反映我尝试过的两种不同说法的结果。当我尝试您建议的方法时(这是正确的方法),我在“字段列表”中得到了错误1054未知列“colname1”。我被难住了。谢谢您的帮助:)。@RyanSatterfield能否使用表结构和一些示例数据编辑您的问题?@RyanSatterfield是否在列名周围使用单引号?我已经尝试过了。我更新了我原来的问题,以反映我尝试过的两种不同说法的结果。当我尝试您建议的方法时(这是正确的方法),我在“字段列表”中得到了错误1054未知列“colname1”。我被难住了。感谢您的帮助:)。@RyanSatterfield能否使用表格结构和一些示例数据编辑您的问题?@RyanSatterfield是否在列名周围使用单引号?我非常感谢您的帮助。我用更多的解释和SQL语句更新了我的问题。@RyanSatterfield:删除列名周围的引号。否则它将被解释为字符串。看我的更新。谢谢你帮我。我真的很感谢你的帮助。我用更多的解释和SQL语句更新了我的问题。@RyanSatterfield:删除列名周围的引号。否则它将被解释为字符串。看我的更新。谢谢你帮我。