【问题标题】:Error Code: 1109. Unknown table 'takes' in delete statement错误代码:1109。删除语句中的未知表“占用”
【发布时间】:2016-02-24 22:11:11
【问题描述】:
delete takes
    from takes as T inner join course as C on T.course_id = C.course_id
    where title like '%database%';

我有两个表需要(ID,course_id,学期,等级)和课程(course_id,title,dept_name,学分)。每当某个单词出现在“title”中时,删除具有相同 course_id 的 Take 中的行。这是我的代码,但它返回 1109 错误。有人知道为什么吗?

错误代码:1109。此代码中的 MULTI DELETE 中存在未知表“占用”?

【问题讨论】:

  • 它是delete from TABLE,而不是delete whatever from TABLE
  • 你能给我一个上下文例子吗?删除后我删除了“takes”,结果出现错误

标签: mysql sql-delete


【解决方案1】:

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

试试这个:

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

【讨论】:

  • 我尝试并收到错误错误代码:1175。您正在使用安全更新模式,并且您尝试更新没有使用 KEY 列的 WHERE 的表 要禁用安全模式,请切换首选项中的选项-> SQL 编辑器并重新连接。
猜你喜欢
  • 1970-01-01
  • 2015-09-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-03-19
  • 2018-08-01
相关资源
最近更新 更多