如何使用多表 DELETE 语句删除两个表中字符集相同的特定数据?

如何使用多表 DELETE 语句删除两个表中字符集相同的特定数据?

如何在多表中删除指定字符集的相同数据

针对表 t1 和 t2 中包含字符编码为 gbk 的数据,需要删除形如 “coco” 的数据。同时,使用 utf8mb4 校对集进行对比。

为了满足上述需求,可以使用多表 delete 语句。该语句允许一次删除多个表中的数据。语法如下:

delete [low_priority] [quick] [ignore] from tbl_name[.*] [, tbl_name[.*]] ... using table_references [where where_condition]
登录后复制

在这种情况下,要删除两个表中的数据,可以编写以下语句:

DELETE FROM t1, t2 USING t1, t2 WHERE   convert(t1.username USING utf8mb4) = convert(t2.username USING utf8mb4);
登录后复制

此语句将使用 utf8mb4 校对集对 t1 和 t2 表中的用户名进行比较,并删除符合条件的所有行。

© 版权声明
THE END
喜欢就支持一下吧
点赞15 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容