mysql - 从表中删除多个没有 ID 的条目

标签 mysql sql database csv

我从多个 CSV 文件导入此数据库,必须维护列名称,并且仍需上传更多 CSV 文件,因此无法添加唯一 ID。

查询应该是这样的:

    delete from table1
    USING table1, table1 as vtable
    WHERE (NOT table1.ID=vtable.ID)
    AND (table1.field_name=vtable.field_name)

如果我编写这样的查询,所有内容都将被删除:

    delete from table1
    USING table1, table1 as vtable
    WHERE
    AND (table1.field_name1=vtable.field_name1) AND (table1.field_name2=vtable.field_name2)
    AND (table1.field_name3=vtable.field_name3) AND (table1.field_name4=vtable.field_name4)

请帮我找到从字段名称 1、2、3、4 相同但没有任何不同 ID 的表中删除的解决方案。

最佳答案

也许您可以在产品名称上添加唯一的键。

ALTER IGNORE IGNORE table_name
ADD UNIQUE KEY pdt_name(field_name);

在此更改中,它将删除重复项。此后,您可以执行 INSERT IGNORELOAD DATA .. IGNORE

关于mysql - 从表中删除多个没有 ID 的条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21793850/

相关文章:

sql - 递归oracle sql来识别一个值

多组聚合的SQL查询

java - Android 应用程序在登录和注册时崩溃

mysql - SQL Server如何存储不同客户端的敏感数据?

mysql - 运行 SQL 然后打印数据库列表的 BAT 文件

mysql - 在不存在连接的情况下创建查询

MYSQL TIMESTAMPDIFF 函数不起作用

mysql - 奇怪的 MySQL 错误 #1242 - 子查询返回超过 1 行

sql - 在 MySql 中加载 mysqldump 时更改表架构

sql - Oracle sqlplus 注释