我有四个表[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]。