代码之家  ›  专栏  ›  技术社区  ›  CalcGuy

MySQL,Insert语句,值为select语句

  •  0
  • CalcGuy  · 技术社区  · 7 年前
    insert into class_pre_req(class_id, cpr_id) values(select class_id from classes where catlg_nbr = 265 and subject_id = 27, select class_id from classes where catlg_nbr = 166 and subject_id = 27);
    

    我正在尝试将值作为insert语句插入到此表中。我想我只是使用了错误的语法。有什么帮助吗?

    1 回复  |  直到 7 年前
        1
  •  1
  •   Tim Biegeleisen    7 年前

    VALUES 仅在插入文字记录时使用。相反,只需插入由两个子查询组成的select语句:

    INSERT INTO class_pre_req (class_id, cpr_id)
    SELECT
        (SELECT class_id FROM classes WHERE catlg_nbr = 265 AND subject_id = 27),
        (SELECT class_id FROM classes WHERE catlg_nbr = 166 AND subject_id = 27);
    

    请注意,为了使其工作,每个子查询都必须返回一个值。