我有四个表[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]中。
暂无答案!
目前还没有任何答案,快来回答吧!