我不确定描述这个的最佳方式,
我有一个表格,其中包含我的用户报告的用户名
'Name' 'reason' 'gender' 'date'
joe FAKE male 10/10/2013
性别列告诉我用户名所在的表,在本例中为“male_users”
是否有某种方法/功能可以获取名称列和性别并转到相应的表并删除该用户名,而无需我手动复制名称->更改表->搜索“乔”之类的用户名->删除- > 重新开始
我希望这是有道理的!
谢谢
我不确定描述这个的最佳方式,
我有一个表格,其中包含我的用户报告的用户名
'Name' 'reason' 'gender' 'date'
joe FAKE male 10/10/2013
性别列告诉我用户名所在的表,在本例中为“male_users”
是否有某种方法/功能可以获取名称列和性别并转到相应的表并删除该用户名,而无需我手动复制名称->更改表->搜索“乔”之类的用户名->删除- > 重新开始
我希望这是有道理的!
谢谢
您可以将多表DELETE
语法与一些外部连接一起使用,如下所示:
DELETE m, f
FROM reported_users r
LEFT JOIN male_users m ON m.username = r.Name AND r.gender = 'male'
LEFT JOIN female_users f ON f.username = r.Name AND r.gender = 'female'
但实际上,为什么要有单独的male_users
和female_users
表格?为什么不使用包含用户性别的列的单个表?
最好的方法是连续使用两个命令:
DELETE FROM male_users WHERE name IN(
SELECT name FROM users WHERE <logic> AND gender='male'
);
DELETE FROM female_users WHERE name IN(
SELECT name FROM users WHERE <logic> AND gender='female'
);
最后自己解决了,上面的答案也是正确的,但是我选择创建一个 php 脚本来读取值并在每个条目旁边显示一个按钮,以便我通过一个简单的方法从表中删除
'DELETE FROM $gender_of_table WHERE username = $username'