我的表格: blocked_peoples 和成员。 在表格 blocked_peoples 列 ips = 成员列 signup_ip 。
假设我想阻止某人访问我的网站。我通过他的IP阻止用户,它也会使用 1 更新成员表和列禁止。
简而言之,如果我更新表blocked_peoples(列ips),并且结果与在成员表更新列中使用成员(列signup_ip)相同/结果相同。
有可能吗?如果是的话,sql会是什么样的?
答案 0 :(得分:1)
UPDATE blocked_peoples, members
SET members.banned = 1
WHERE members.signup_ip = blocked_peoples.ip
AND blocked_peoples.ip = 'ip.address.goes.here';
根据你的问题,这是我能想到的最好的。我不确定。在更新中使用两个表没有意义,因为成员表同时具有ip和“blocked”标志。
答案 1 :(得分:0)
步骤进行:
了解有关外键引用的更多信息。
乐于助人:)
答案 2 :(得分:0)
如果与blocked_peoples
的关系是1比1,我建议完全删除members
表。否则,您应该从banned
删除members
列,并专门依赖blocked_peoples
来检查禁止的IP。
示例更新:
UPDATE `members` SET `banned` = 1 WHERE `signup_Ip` = '123.123.123.123';
示例选择:
SELECT * FROM `members` WHERE `banned` = 1