Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 将SELECT语句更改为DELETE语句_Mysql_Sql - Fatal编程技术网

Mysql 将SELECT语句更改为DELETE语句

Mysql 将SELECT语句更改为DELETE语句,mysql,sql,Mysql,Sql,在我的表中有许多重复的行。我有一个SELECT,它提供了我要删除的数据,但我如何才能做到这一点?无论我做什么,我都会出错 SELECT * FROM tablename t WHERE NOT EXISTS ( SELECT 1 FROM tablename t2 WHERE t2.column = t.column HAVING COUNT(*) = 1

在我的表中有许多重复的行。我有一个SELECT,它提供了我要删除的数据,但我如何才能做到这一点?无论我做什么,我都会出错

SELECT *
  FROM tablename t
 WHERE NOT EXISTS (         
              SELECT 1
                FROM tablename t2
               WHERE t2.column = t.column
              HAVING COUNT(*) = 1
                     )

只需将“选择*”更改为“删除”

DELETE 
FROM tablename t
WHERE NOT EXISTS (         
              SELECT 1
              FROM tablename t2
              WHERE t2.column = t.column
              HAVING COUNT(*) = 1
              )

将select*更改为delete…P.S.,如果您有重复项,则需要开始了解。是的,我尝试了此操作,但显示错误:1064-您的SQL语法有错误;请查看与您的MySQL服务器版本对应的手册,以了解在第2行“不存在的地方选择1 FROM norma”附近使用的正确语法。Kolation是utf8mb4_Bin MySQL的哪个版本?是的,我尝试过,但显示错误:1064-您的SQL语法有错误;请查看与您的MySQL服务器版本对应的手册,以了解在第2行的“不存在的地方从norma中选择1”附近使用的正确语法