当前位置: 首页 > 面试题库 >

从“表”中删除为“别名” ...在“别名。列”中...为什么语法错误?

裴建华
2023-03-14
问题内容

我尝试使用MySQL:

DELETE FROM `contact_hostcommands_relation` AS `ContactHostCommand` WHERE (`ContactHostCommand`.`chr_id` = 999999) LIMIT 1

我得到这个:

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE (`ContactHostCommand`.`chr_id` = 999999) LIMIT 1' at line 1

注意: 此查询是自动生成的,条件基于表别名。

为什么会出现此错误?

有什么方法可以在where子句中使用表别名?

这是MySQL特有的吗?


问题答案:

您可以这样使用SQL:

DELETE FROM ContactHostCommand 
USING `contact_hostcommands_relation` AS ContactHostCommand 
WHERE (ContactHostCommand.`chr_id` = 999999) 
LIMIT 1


 类似资料:
  • 问题内容: 我创建的查询之一存在一个奇怪的“问题”。给定下一个查询: phpMyAdmin一直在引发有关没有名为“ LatestBookableTimestamp”的列的错误,即使我有一个由子查询检索的列,也就是该别名。我也尝试过使用tableprefix选择每一列。第八,这没有用。最终,我通过表别名选择了所有列,并为表指定了别名。一切都没有运气。 有人可以告诉我我在做什么错吗?我什至搜索了一些资

  • 问题内容: 我有一个雄辩的模型,名为Eloquent: 现在,我想向其中添加连接语句,我定义了一个scopeQuery与: 然后我们的主要查询更改为: 我得到的没问题,这是我所期望的,但是我想将标签表的name属性更改为tag_name,该怎么办?我的意思是,我在查询中的某处说: 因此,在最终结果数组中,我这样做: 现在,我必须: 问题答案: 最简单的方法是将所需字段添加到方法中,并为要重命名的字

  • 问题内容: 大多数SQL专家会说,不能在同一级别的select中重用别名;通常要解决此问题,使用CTE;或者将查询包装为子查询,以便可以引用别名。但是,如果在select自身的子查询中引用了别名,则mySQL似乎允许这种情况。因此,从技术上讲,它不在同一水平上。 演示: 以上两个查询均有效。他们工作。(或在使其看起来像工作时做得非常好) 尽管事实并非如此:正如人们所期望的那样。 因此,这里的问题有

  • 我有一个密钥库,名为keystore。jks和意外添加了两个键。我必须使用键2制作一个签名的apk。因为我已经使用key2上传了一个apk,我想从keystore中删除Key1。jks。 签名的apk是使用Key1生成的,但我需要使用key2生成。 请帮帮我。提前谢谢。

  • 问题内容: 我在用多个JOIN进行查询时注意到,除非给表名之一指定别名,否则查询将无法工作。 这是一个简单的例子来说明这一点: 这 不起作用 : 这样 做 : 有人可以解释吗? 问题答案: 您在查询中使用同一个表购买两次。您需要通过提供不同的名称来区分它们。 您需要提供一个别名: 想象两个人有完全相同的约翰·多伊。如果您致电John,双方都会回复您的电话。您不能给两个人使用相同的名字,并假设他们会

  • 显然,类型别名和模板化类型别名在语义上等同于typedefs和typedefs的扩展,以支持模板。为什么使用关键字为这些创建了新语法,而不是在第一个关键字中使用typedefs,以及一些使用的语法扩展。 注意:这不是“using和typedef之间的区别”问题的克隆。我知道提供了定义的优势。我想问的是为什么标准人员决定让这个扩展使用关键字而不是关键字。这似乎只是增加了语言的混乱。