Tag: sql delete

如何用WHERE子句中的SELECT语句编写SQL DELETE语句?

数据库:Sybase Advantage 11 在我寻求规范化数据,我试图删除从这个SELECT语句得到的结果: SELECT tableA.entitynum FROM tableA q INNER JOIN tableB u on (u.qlabel = q.entityrole AND u.fieldnum = q.fieldnum) WHERE (LENGTH(q.memotext) NOT IN (8,9,10) OR q.memotext NOT LIKE '%/%/%') AND (u.FldFormat = 'Date') ; 这是我提出的DELETE语句: DELETE FROM tableA WHERE (SELECT q.entitynum FROM tableA q INNER JOIN tableB u on (u.qlabel = q.entityrole AND […]

我得到错误“DELETE语句与参考约束冲突”

我试图用外键截断一个表,并得到消息: “ 不能截断表,因为它被FOREIGN KEY约束引用 ”。 我读了很多有关这个问题的文献,并认为我通过使用deletefind了解决scheme DELETE FROM table_name DBCC CHECKIDENT (table_name, RESEED, 0) 但是我仍然收到错误信息: “ DELETE语句与参考约束冲突 ”。 当我尝试使用Microsoft Management Studio删除并执行以前的查询时 DELETE FROM table_name DBCC CHECKIDENT (table_name, RESEED, 0) 它不会给出错误并正常工作。 我想删除表中的所有信息并添加新的信息,但是我不想删除并创build外键。

计算SQL Server存储过程中删除的行数

在SQL Server 2005中,是否有删除行的方法,并被告知有多less人被删除? 我可以用相同的条件做一个select count(*) ,但是我需要这个值得信赖。 我的第一个猜测是使用@@ROWCOUNTvariables – 但没有设置,例如 delete from mytable where datefield = '5-Oct-2008' select @@ROWCOUNT 总是返回一个0。 MSDNbuild议OUTPUT结构,例如 delete from mytable where datefield = '5-Oct-2008' output datefield into #doomed select count(*) from #doomed 这实际上是一个语法错误失败。 有任何想法吗?

在SQL中,UPDATE总是比DELETE + INSERT更快?

说我有一个简单的表,有以下字段: ID:int,autoincremental(标识),主键 名称:varchar(50),唯一,具有唯一索引 标签:int 我从不使用ID字段进行查找,因为我的应用程序始终基于使用名称字段。 我需要不时更改Tag值。 我正在使用以下琐碎的SQL代码: UPDATE Table SET Tag = XX WHERE Name = YY; 我想知道是否有人知道以上是否总是比: DELETE FROM Table WHERE Name = YY; INSERT INTO Table (Name, Tag) VALUES (YY, XX); 再次 – 我知道在第二个例子中,ID被改变,但是对于我的应用程序来说并不重要。

我怎样才能回滚我的最后一个删除命令在MySQL中?

我不小心删除了一些巨大的不。 从表中的行 我怎样才能回滚? 我使用腻子执行查询… 如果你们中的任何一个能够安全地引导我离开,我将不胜感激。

在MySQL中删除数百万行

我最近发现并修复了一个我正在处理的网站中的一个错误,这个错误导致了表中数百万重复的数据行,即使没有它们(仍然是数百万),这些数据行也相当大。 我可以很容易地find这些重复的行,并可以运行一个删除查询来杀死他们。 问题是试图一次性删除这么多行就locking了很长一段时间,如果可能,我想尽量避免。 我可以看到摆脱这些行的唯一途径,而不是取消网站(通过locking表): 编写一个脚本,在一个循环中执行数千个较小的删除查询。 这将理论上解决locking表问题,因为其他查询将能够进入队列并在删除之间运行。 但是它仍然会对数据库造成很大的负担,并且需要很长时间才能运行。 重命名表并重新创build现有的表(它现在将是空的)。 然后在重命名的表上进行清理。 重新命名新表,将旧名重新命名并将新行合并到已重命名的表中。 这是需要相当多的步骤,但应该完成的工作与最小的中断。 这里唯一棘手的部分就是所讨论的表格是一个报表,所以一旦它被重新命名,而空的表格被放置到位,那么所有的历史报告都会消失,直到我把它放回原处。 另外,由于存储数据的types,合并过程可能会有点痛苦。 总的来说,这是我现在可能的select。 我只是想知道是否有其他人之前有过这个问题,如果是的话,你怎么处理它,而不会取消网站,并希望尽可能减less,如果有任何中断用户? 如果我采用2号或者其他类似的方法,我可以把这些东西安排在深夜运行,并在第二天早些时候进行合并,让用户提前知道,这不是什么大问题。 我只是想看看有没有人有更好或更简单的方法来做清理的想法。

TRUNCATE与DELETE FROM的优点和缺点

有人能给我一个使用以下两个陈述的优点和缺点的快速概述: TRUNCATE TABLE dbo.MyTable VS DELETE FROM dbo.MyTable 当所有的说法和做法看起来他们都做同样的事情; 但是两者之间肯定有区别。

更快的方法来删除匹配的行?

谈到数据库,我是一个相对的新手。 我们正在使用MySQL,目前我正在尝试加速SQL语句,似乎需要一段时间才能运行。 我环顾了一下类似的问题,但没有find一个。 目标是删除表A中与表B中匹配的所有行。 我目前正在执行以下操作: DELETE FROM a WHERE EXISTS (SELECT b.id FROM b WHERE b.id = a.id); 表a中约有100K行,表b中约有22K行。 列'id'是两个表的PK。 这个陈述需要大约3分钟的时间运行在我的testing盒 – 奔腾D,XP SP3,2GB内存,MySQL 5.0.67。 这对我来说似乎很慢。 也许不是,但我希望能加快速度。 有没有更好/更快的方法来完成这个? 编辑: 一些额外的信息,可能会有所帮助。 表A和B具有相同的结构,我已经做了以下创build表B: CREATE TABLE b LIKE a; 表a(也就是表b)有几个索引来帮助加快对它的查询。 再次,我是DB工作的相对新手,仍然在学习。 我不知道这对事物有多大影响,如果有的话。 我认为它也有效果,因为索引也必须清理,对吧? 我也想知道是否有任何其他数据库设置,可能会影响速度。 另外,我正在使用INNO DB。 以下是一些可能对您有帮助的其他信息。 表A有一个类似的结构(我已经消毒了一下): DROP TABLE IF EXISTS `frobozz`.`a`; CREATE TABLE `frobozz`.`a` ( `id` […]

如何在Neo4j中删除/创build数据库?

是否有可能创build/删除graphics数据库Neo4j中的不同数据库像MySQL中一样? 或者至less,如何删除现有graphics的所有节点和关系以获得干净的testing设置,例如,使用类似于rmrel或rm shell命令?

如何在没有临时表的情况下删除MySQL表中的所有重复logging

我已经看到了一些变化,但没有什么完全符合我想要完成的。 我有一个表格TableA,其中包含用户给出的可configuration调查问卷的答案。 列是member_id,quiz_num,question_num,answer_num。 不知何故,有几个成员提交了两次答案。 所以我需要删除重复的logging,但要确保留下一行。 没有“主要”列,因此可能有两三行全部具有完全相同的数据。 是否有查询删除所有重复?