删除两倍的用户(MySQL) [英] DELETING doubled users (MySQL)

查看:135
本文介绍了删除两倍的用户(MySQL)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有两个桌子.有来自两个站点的用户信息:
p_users
p_users2
首先是3726个用户,第二是13717个用户.

p_users2中的某些用户位于p_users中.我想将这两个表合并为一个大表-但是具有相同用户名的行不能加倍.

I have two tables. There are users informations from two sites:
p_users
p_users2
There are 3726 users in first and 13717 in second.

Some users in p_users2 are in p_users. I want merge this two tables to the one big table - but rows with same usernames can't be doubled.

我该怎么做?我尝试过这样的事情:

How can I do this? I tried something like this:

DELETE FROM p_users2 WHERE user_id IN 
(
select p.user_id from p_users p
join p_users2 p2 on p.username=p2.username
)

此后,我应该收到一个包含唯一用户名的表,我想将其导出并导入到第一个用户名.但是当我执行查询时出现错误:

After that I should receive a table with unique usernames, which I want to export and import to the first one. But when I execute my query I got error:

SQL错误(1093):您无法在FROM子句中指定要更新的目标表'p_users2'. (MYSQL)

SQL Error (1093): You can't specify target table 'p_users2' for update in FROM clause. (MYSQL)

推荐答案

尝试一下

DELETE p2 FROM p_pusers2 AS P2
INNER JOIN p_users p1
ON p1.username=p2.username

这篇关于删除两倍的用户(MySQL)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆