MySQL DELETE with JOIN 使用 LIMIT 语句获取语法错误

标签 mysql sql join mariadb sql-delete

我正在运行查询来删除重复的条目。它无需 LIMIT 语句即可工作,但会使服务器过载。我想使用 LIMIT 语句对其进行批处理。

DELETE t1
FROM data as t1
join data as t2
WHERE t1.type = t2.type
AND t1.timestamp = t2.timestamp
LIMIT 100

使用 LIMIT 语句会收到错误:

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'LIMIT 100' at line 6

最佳答案

您不能直接使用可以在选择中使用的删除限制

  DELETE data 
  FROM data as t1
  join (
        select distinct type, timestamp from data limit 100  
  ) t2  on t1.type = t2.type AND t1.timestamp = t2.timestamp

关于MySQL DELETE with JOIN 使用 LIMIT 语句获取语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45618389/

相关文章:

mysql - 执行 120mb 的插入语句

具有 Entity Framework 的 SQL Server xml 列 - 如何保留无关紧要的空格

sql - Sequelize : on a subset of model A, sum 关联模型 B 的整数属性

MySQL查询一个类(class)的书籍成本

javascript - 带有 Highcharts 的实时数据

php - 将字符串转换为日期时间 php 未按预期返回

php - mysql中的select查询总是返回空结果

C#/LINQ(?) - 加入两个数据表(没有 SQL!)

php - PDO(准备语句)错误 - 无法将 PDOStatement 类型的对象用作数组

mysql - 如何将带逗号的字符串(VARCHAR)传递给存储过程?