UPDATE sc SET score = (
SELECT avg(score) FROM sc WHERE cno = (
SELECT cno FROM teacher a, course b WHERE a.tno = b.tno AND a.tname='刘老师'))WHERE cno= (
SELECT cno FROM teacher a, course b WHERE a.tno = b.tno AND a.tname='刘老师');
[Err] 1093 - You can't specify target table 'sc' for update in FROM clause
修改之后:
UPDATE sc SET score = ( SELECT c.* FROM (
SELECT avg(score) FROM sc WHERE cno = (
SELECT cno FROM teacher a, course b WHERE a.tno = b.tno AND a.tname='刘老师')) c)WHERE cno= (
SELECT cno FROM teacher a, course b WHERE a.tno = b.tno AND a.tname='刘老师');
增加一次查询让数据库以为不是操作一张表