我需要这样做
DELETE FROM konta WHERE taken != ''
Run Code Online (Sandbox Code Playgroud)
但是!=在mysql中不存在.有人知道怎么做吗?
我必须删除guide_category与guidetable 无关的行(死关系).
这是我想要做的,但它当然不起作用.
DELETE FROM guide_category AS pgc
WHERE pgc.id_guide_category IN (SELECT id_guide_category
FROM guide_category AS gc
LEFT JOIN guide AS g ON g.id_guide = gc.id_guide
WHERE g.title IS NULL)
Run Code Online (Sandbox Code Playgroud)
错误:
您不能在FROM子句中为更新指定目标表'guide_category'
我正在尝试运行SQL查询以删除表中id为163到265的行
我试过这个删除更少的行数
DELETE FROM `table` WHERE id IN (264, 265)
Run Code Online (Sandbox Code Playgroud)
但是当一次删除100行时,是否有类似上述方法的查询我也试图使用这种查询但是无法执行它
DELETE FROM `table` WHERE id IN (SELECT * FROM table WHERE id = )
Run Code Online (Sandbox Code Playgroud)
请告诉我执行上述操作的查询...
我最近发现并修复了我正在处理的网站中的一个错误,导致表中数百万个重复的数据行即使没有它们也会非常大(仍然是数百万).我可以很容易地找到这些重复的行,并可以运行单个删除查询来终止它们.问题是尝试一次性删除这么多行会长时间锁定表,如果可能的话我想避免这种情况.我可以看到摆脱这些行的唯一方法,而不是取下网站(通过锁定表):
我只是想知道是否有其他人之前有这个问题,如果是这样,你如何处理它而不取下网站,并希望,如果有任何中断用户?如果我使用2号或类似的方法,我可以安排这些东西在深夜运行并在第二天早上进行合并,并且让用户提前知道,这不是什么大问题.我只是想看看是否有人有更好或更简单的方法来进行清理.
数据库: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')
;
Run Code Online (Sandbox Code Playgroud)
这是DELETE我提出的陈述:
DELETE FROM tableA
WHERE (SELECT q.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'))
;
Run Code Online (Sandbox Code Playgroud)
当我尝试运行此语句时,我不断收到此错误:
ERROR IN …Run Code Online (Sandbox Code Playgroud) sql select advantage-database-server where-clause sql-delete
我是一名Linux管理员,只掌握Mysql查询的基本知识
我想使用id删除许多表条目,这些表条目是我的表中的ip地址,
目前我正在使用
DELETE from tablename where id=1;
DELETE from tablename where id=2;
Run Code Online (Sandbox Code Playgroud)
但我必须删除254个条目,所以这个方法需要几个小时,我怎么能告诉mysql删除我指定的行,因为我想跳过删除254中的一些条目.
删除整个表并导入所需的条目不是一种选择.
我需要从PG数据库中删除大约200万行.我有一个我需要删除的ID列表.但是,我尝试这样做的任何方式都需要几天时间.
我尝试将它们放在一个表中,并在100个批次中进行.4天后,这仍然在运行,只删除了297268行.(我必须从ID表中选择100个id,删除该列表中的IN,从ids表中删除我选择的100个).
我试过了:
DELETE FROM tbl WHERE id IN (select * from ids)
Run Code Online (Sandbox Code Playgroud)
那也是永远的.很难判断多久,因为我看不到它的进展直到完成,但查询仍然在2天后运行.
当我知道要删除的特定ID时,只需要寻找从表中删除的最有效方法,并且有数百万个ID.
假设我有一个包含以下字段的简单表:
我从不使用ID字段进行查找,因为我的应用程序总是基于使用Name字段.
我需要不时更改Tag值.我正在使用以下简单的SQL代码:
UPDATE Table SET Tag = XX WHERE Name = YY;
Run Code Online (Sandbox Code Playgroud)
我想知道是否有人知道上述内容总是比以下更快:
DELETE FROM Table WHERE Name = YY;
INSERT INTO Table (Name, Tag) VALUES (YY, XX);
Run Code Online (Sandbox Code Playgroud)
再次 - 我知道在第二个例子中ID被更改,但它对我的应用程序无关紧要.
有人可以让我快速概述使用以下两个陈述的利弊:
TRUNCATE TABLE dbo.MyTable
Run Code Online (Sandbox Code Playgroud)
VS
DELETE FROM dbo.MyTable
Run Code Online (Sandbox Code Playgroud)
看来和完成所有事情似乎他们都做了同样的事情; 但这两者之间是否存在差异?
我已经安装了Hadoop,Hive,Hive JD BC.这对我来说运行良好.但我还是有问题.如何使用Hive删除或更新单个记录,因为MySQL的删除或更新命令在配置单元中不起作用.
谢谢
hive> delete from student where id=1;
Usage: delete [FILE|JAR|ARCHIVE] <value> [<value>]*
Query returned non-zero code: 1, cause: null
Run Code Online (Sandbox Code Playgroud) sql-delete ×10
sql ×6
mysql ×4
bigdata ×1
delete-row ×1
hadoop ×1
hive ×1
maintenance ×1
postgresql ×1
select ×1
sql-insert ×1
sql-server ×1
t-sql ×1
truncate ×1
where-clause ×1