当前位置: 首页 > 知识库问答 >
问题:

MySQL中删除后的术语

杜联
2023-03-14
DELETE d
FROM discog d
JOIN discog d1 ON d1.artist = d.artist AND d1.track = d.track AND d1.year < d.year;

共有1个答案

柳越
2023-03-14

delete有两个表引用:

DELETE d
    FROM discog d JOIN
         discog d1
         ON d1.artist = d.artist AND d1.track = d.track AND d1.year < d.year;

在本例中,引用指向同一个表,但指向不同的行。

MySQL如何知道要删除哪些行?您可能希望MySQL只从第一个引用的表中删除,但显式地包含别名是一个更好的解决方案--它要求在编写查询时明确代码的意图。

 类似资料:
  • 问题内容: 范围:两个表。创建新的顾客时,他们会将有关他们的一些信息存储到第二张表中(这也使用触发器完成,它可以按预期工作)。这是我的表结构和关系的示例。 表1-> 顾客 表2-> patron_info 管理员可以管理顾客。当他们选择移走顾客时,将顾客从 桌子1 移开。此时, 表2 没有任何反应。 我只是想创建一个触发器,以便在表1的项目已删除时从表2中删除。这是我尝试过的… 最初,我尝试删除触

  • 问题内容: 我有一个带有主键字段且具有AUTO_INCREMENT的MySQL表。在阅读了这里的其他文章后,我发现人们遇到了同样的问题,答案也各不相同。有些人建议不要使用此功能,其他人则说它不能被“修复”。 我有: 示例:表中的记录数:18.如果我删除记录16、17和18-我希望输入的下一条记录的courseID为16,但是由于最后输入的courseID为18,所以它将为19。 我的SQL知识不是

  • 问题内容: 我有一个SQL列,其中的条目是字符串。我需要在剪掉最后两个字符后显示这些条目,例如,如果该条目应输出。 我尝试研究TRIM,但看起来只有在我们知道最后两个字符是什么的情况下,它才能提供修剪功能。但就我而言,我不知道最后两个数字是什么,只需要丢弃它们即可。 简而言之,什么是MySQL字符串操作可以修剪字符串的最后两个字符? 我必须补充一点,字符串的长度不是固定的。它可以是9个字符,11个

  • 大家好,所以我有这个MYSQl代码,我插入日期,当它发送和输入的日子,可以是从1做7。我怎样才能让MYSQl在输入天之后删除一行?例如:我在2021年22.03.2021下午3:54创建了一个产品,输入的过期天数是6天。我想删除产品后正好6天。

  • 几天前,我无法让mysql运行了(xampp),经过一些谷歌搜索,我发现了这篇文章:xampp-MySQL意外关机 它说删除ibdata1文件,我做了,mysql再次启动,但一个数据库的表不见了,但我仍然可以看到数据文件夹中包含值的表(ibd和frm文件),我可以恢复这些表吗?

  • 问题内容: 我有大约20GB的数据库。我需要删除5个表并在其他3个表中删除几列。 删除5个表以释放大约3 GB的空间,而删除其他表中的列则应释放另外8GB的空间。 如何从MySQL回收此空间。 我已经读过转储数据库并将其还原为解决方案之一,但我不确定该如何工作,甚至不确定这是否仅适用于删除整个数据库或仅删除部分数据库? 请提出解决方法。谢谢。 问题答案: 从注释中,听起来好像您正在使用InnoDB