【问题标题】:Inserting values from two tables into a new table将两个表中的值插入到新表中
【发布时间】:2015-04-19 16:33:15
【问题描述】:

我运行了这个查询:

Insert into transaction(matric,surname,other,level,bk_id,bk_title) 
values(
   (select matric,surname,others,level from member_master),
   (select isbn,bk_title from book_master)
)

但我得到了这个错误:

列计数与第 1 行的值计数不匹配

【问题讨论】:

  • 不太清楚你在问什么。您提到的错误消息似乎很明显。数据库表的列数与您语句中的列数不匹配。如果不是这种情况,请解释一下。
  • 向我们展示您的数据库图。您希望如何将表相互分配?

标签: mysql


【解决方案1】:

您必须使用在insert 语句中提到的相同列。目前您的insert 语句提到matric,surname,other,level,bk_id,bk_title 列,而select 中的列不同。试试这样:

Insert into transaction(matric,surname,other,level,bk_id,bk_title) 
values
(select m.matric,m.surname,m.others,m.level,b.isbn,b.bk_title
 from member_master m inner join book_master b on m.id = b.id) 

假设这两个表是用ID列链接的

【讨论】:

    猜你喜欢
    • 2020-03-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多