本文介绍了多表删除限制的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试运行以下查询,但是会引发错误.

I'm trying to run following query but it throws an error.

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

此查询无限制..

错误看起来像这样:

发现了这个

我对此有任何解决方法吗?

I there any workarounds for this?

推荐答案

尝试:

DELETE
FROM parim_lang a
WHERE a.lang_hash IN (
SELECT a.lang_hash
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

这篇关于多表删除限制的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-31 09:08