delete takes
    from takes as T inner join course as C on T.course_id = C.course_id
    where title like '%database%';


我有两个表takes(ID,course_id,学期,年级)和course(course_id,标题,dept_name,学分)。每当“ title”中出现某个单词时,请删除take中具有相同course_id的行。这是我的代码,但是它返回1109错误。有人知道为什么吗?


  错误代码:1109。此代码中的MULTI DELETE中的未知表“需要”吗?

最佳答案

我相信收到错误的原因是您为表t分配了别名takes,但是您忘记在一开始就更改了delete语句,因此它实际上抱怨没有表在查询的delete语句(takes)中。

尝试这个:

delete t
    from takes as t
    inner join course as c on t.course_id = c.course_id
    where title like '%database%';

关于mysql - 错误代码:1109。删除语句中的未知表“需要”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35614219/

10-14 13:09