问题标签 [sql-delete]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
13196 浏览

mysql - MySQL,删除和索引提示

根据某些标准,我必须从具有超过 1 亿行的表中删除大约 10K 行。当我执行查询时,大约需要 5 分钟。我运行了一个解释计划(delete查询转换为select *MySQL 不支持explain delete),发现 MySQL 使用了错误的索引。

我的问题是:有没有办法告诉 MySQL 在删除期间使用哪个索引?如果没有,我该怎么办?选择临时表然后从临时表中删除?

0 投票
2 回答
1358 浏览

php - jQuery ajax 删除脚本实际上并未删除

我有一个正在开发的小型个人网络应用程序。我有一个链接,当单击该链接时,应该对应该从数据库中删除该信息的 php 进行 ajax 调用。由于某些未知原因,它实际上不会从数据库中删除该行。我已经尝试了我所知道的一切,但仍然没有。我敢肯定这是非常简单的事情......这是涉及的脚本。

数据库输出:

阿贾克斯脚本:

删除代码:

0 投票
2 回答
4945 浏览

mysql - 如何删除 mysql 表中在另一个查询的结果中有一个字段的行?

声明如下:

这对我来说看起来不错,并且 SELECT 语句可以独立工作(生成具有单列“userID”的行。

基本上,我想删除“videoswatched”表中的条目,其中在加入 users 表后,videoswatched 条目中的 userID 被发现有 companyID=1000。

我怎样才能做到这一点而不会在我的 sql 语法中出现错误?它说错误接近:

并在第 1 行。

0 投票
2 回答
142 浏览

mysql - 用 JOIN 删除?

这个问题让我很头疼。

我的数据库中有两个表,借助称为“闭包表”的设计来解决类别排序问题。第一个表被调用categories,另一个被命名categoriesPaths

类别只是一个基于语言的表:

类别路径看起来像这样:

要删除路径及其最终的子节点,我运行以下查询:($top 是删除将开始的顶级父节点级别)

我想要做的是更改查询以删除categories表中的代表性路径。不幸的是,我没有足够的 SQL 知识来做到这一点。我试图在查询之前使用 foreach 循环来解决问题,但这无法删除,因为该categories表被引用了categoriesPaths......话虽如此,我几乎被卡住了。

如果有人想了解更多关于闭包表设计的信息,这里是我从中学习到的幻灯片的参考:http ://www.slideshare.net/billkarwin/sql-antipatterns-strike-back

0 投票
1 回答
146 浏览

sql - 删除没有关联的记录

我在 postgreSQL 数据库中有一个以多对一关系绑定的“guests”表和“invitations”表。我删除了一些客人,现在我想删除没有客人的邀请。我尝试使用“COUNT”,但 WHERE 子句中不允许使用聚合。

0 投票
4 回答
1905 浏览

sql - 审计表的 SQL 触发器

我正在编写一个触发器来审核表中的更新和删除。我正在使用 SQL Server 2008

我的问题是,

有没有办法在不经过删除和插入表的选择阶段的情况下找出对记录采取的操作?

另一个问题是,如果正在删除记录,我如何在审计表中记录正在执行删除的用户。(注意:连接到数据库的用户是具有设置用户的通用连接字符串,我需要登录到 Web 应用程序或 Windows 应用程序的用户)

请帮忙?

0 投票
1 回答
3348 浏览

mysql - MySQL在“到期”后删除行

我正在尝试删除 MySQL 数据库中的过期条目,在创建或更新名为 lastBeat 的字段时使用 CURRENT_TIME 进行更新,我使用以下查询检查/删除超过 20 秒的行:

我也尝试过 CURRENT_TIME 而不是 NOW()

有2个主要循环:

  1. 每秒更新 rmachines 中的一行

  2. 执行删除查询

如果 2 被快速执行,随着时间滚动到下一分钟(即 59-60 秒),它会删除该行,就好像它已经过期(即使认为它肯定没有过期!),否则它表现得很好。

如果 2 每秒执行一次,这不太明显,“假到期”很少发生,但我每秒运行 5 次以暴露“问题”。

我找到了一个解决方案,经过测试,似乎可以在相同的场景下工作:

删除 mysql 数据库中超过 3 个月的行的作业

但是谁能告诉我为什么我的方法不起作用?

0 投票
2 回答
362 浏览

sql - 删除查询中没有的地方

我有一个查找表 ( ##lookup)。我知道这是一个糟糕的设计,因为我在复制数据,但它极大地加快了我的查询速度。我有一个填充此表的查询

我想模拟这种行为:

这将清楚地正确更新表。但这是很多插入和删除。它弄乱了我的索引并锁定了表格以供选择。

该表也可以通过以下方式更新:

第二种方式可能需要更长的时间,但我可以说“没有锁”,我将能够从表中进行选择。

关于如何以第二种方式编写查询的任何想法?

0 投票
1 回答
139 浏览

mysql - 如何重构这个多表删除语句

谁能建议一种更简洁的方法来删除一个查询中具有一对多关系的行?

这可行,但我对using子句 or不是很熟悉delete,所以我不完全理解它是如何工作的。

我认为这可以通过级联更干净地完成,但我对约束有一种非理性的恐惧。数据库是 MySQL。

0 投票
3 回答
2780 浏览

mysql - MySQL试图删除所有不受外键约束的行

好的,这(可能)是一个非常简单的问题,但恐怕我对 MySQL 几乎一无所知,所以请多多包涵。我只是想从一个表中删除不受另一个表中的外键约束的每一行 - 一个特定的表,这里只涉及两个表。创建语句看起来有点像:

我的任何 SQL 语句都是:

我认为这是正确的 - 它应该从作业表中删除不存在具有该作业的作业分配的每个作业,因为它是外键。但是,当我尝试执行它时,它会失败并出现以下错误:

无法删除或更新父行:外键约束失败 ( testdatabase. jobassignment, CONSTRAINT FK_jobassignment_1 FOREIGN KEY ( JobId) REFERENCES job ( Job_Id))

那么我做错了什么愚蠢的事情?

编辑:像往常一样,我在这里发布后仅几秒钟就找到了答案。我使用了(完全不同的)查询:

出于好奇,这是更好的方法吗?我最初的想法是否可行?如果是这样,它有什么问题?