使用mysql上的任何循环语句将多个表中的记录插入到一个表中

4c8rllxm  于 2021-06-23  发布在  Mysql
关注(0)|答案(0)|浏览(186)

我有四个表[tbl1],[tbl2],[tbl3],[tbl4]。前三个表都有自己的记录,从中选出的几个将被插入第四个表,即[tbl4]。我希望使用一个存储过程,其参数指定要插入[tbl4]的记录数。例如:

CALL storedproc(4);

将根据内部join语句将4条记录插入tbl4并查看它们的公共id。
但mysql不断给出错误:“key‘primary’的重复条目‘some_name’。

BEGIN
    DECLARE nums int(50);
    SET  nums=0;

   INSERT INTO tblstudteach  (SELECT tblstudent.id, tblstudent.Namess, tblgrades.Mark, tblgraderange.Score, tblteacher.teachername FROM tblstudent INNER JOIN tblgrades ON tblstudent.id=tblgrades.stdid
                                        INNER JOIN tblgraderange ON tblgrades.Mark BETWEEN tblgraderange.StartingGrade
                                        AND tblgraderange.EndingGrade INNER JOIN tblteacher ON tblstudent.id=tblteacher.studid)
                                        LIMIT num;
     SET nums=nums+1;

END

我也不知道如何包含一个循环语句,该语句可以循环遍历每条记录并插入到[tbl4]中。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题