使用相同 table 中的 EXISTS 从 TABLE 中删除
DELETE from TABLE using EXISTS from the same table
我有重复的 MYSQL 表。我想删除重复项。但是 MySQL 给出了错误信息。 MYSQL 和 MARIA DB 是否不支持在 Oracle 上 运行 的 SQL 语句?
从存在的爱沙尼亚 E 删除(select 1 从爱沙尼亚 x 其中 x.city=E.city 和 x.id<>E.id);
您可以改为使用删除自联接:
DELETE e1
FROM ESTONIA e1
INNER JOIN ESTONIA e2
ON e2.city = e1.city AND
e2.id <> e1.id;
存在确实存在于 MySQL 见下文
SELECT column_name(s)
FROM table_name
WHERE EXISTS
(SELECT column_name FROM table_name WHERE condition);
但我相信在你的情况下你需要使用 IN 而不是 EXIST
DELETE
FROM table_name
WHERE column_name IN
(SELECT column_name FROM table_name WHERE condition);
我有重复的 MYSQL 表。我想删除重复项。但是 MySQL 给出了错误信息。 MYSQL 和 MARIA DB 是否不支持在 Oracle 上 运行 的 SQL 语句?
从存在的爱沙尼亚 E 删除(select 1 从爱沙尼亚 x 其中 x.city=E.city 和 x.id<>E.id);
您可以改为使用删除自联接:
DELETE e1
FROM ESTONIA e1
INNER JOIN ESTONIA e2
ON e2.city = e1.city AND
e2.id <> e1.id;
存在确实存在于 MySQL 见下文
SELECT column_name(s)
FROM table_name
WHERE EXISTS
(SELECT column_name FROM table_name WHERE condition);
但我相信在你的情况下你需要使用 IN 而不是 EXIST
DELETE
FROM table_name
WHERE column_name IN
(SELECT column_name FROM table_name WHERE condition);