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

时间:2018-08-07 13:54:02

标签: mysql

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

CALL storedproc(4); 

将根据内部连接语句并查看它们的公共ID将4条记录插入tbl4。

但是mysql不断给出错误:“键'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]。

0 个答案:

没有答案