【发布时间】:2012-09-28 09:23:13
【问题描述】:
我正在尝试运行以下查询,但它会引发错误。
DELETE b
FROM parim_lang a
JOIN parim_lang b
ON b.lang_hash = a.lang_hash
AND b.lang_language = SUBSTRING(a.lang_google_translation, LOCATE('-', a.lang_google_translation) + 1)
WHERE a.lang_google_translation REGEXP '^[a-z]+-[a-z]+'
LIMIT 20
此查询无限制地工作..
错误如下:
SQL 错误 (1064):您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 7 行的“LIMIT 20”附近使用正确的语法
找到这个:
对于多表语法,DELETE 从每个 tbl_name 中删除满足条件的行。在这种情况下,不能使用 ORDER BY 和 LIMIT。
我有什么解决方法吗?
【问题讨论】:
-
For the multiple-table syntax, DELETE deletes from each tbl_name the rows that satisfy the conditions. In this case, ORDER BY and LIMIT cannot be used.
标签: mysql sql sql-delete