我最近发现一些网页游戏,一旦你新登录了,那么老的会弹出窗口【您已经在其它地点登录,本页面将自动退出】的提示。
基于这个方法,我认为不要在如何不让人重复登录上下功夫了,毕竟B/S用的http协议是无状态的,非持久的链接。我们可以考虑,让新登录的把以前同一个帐号登录的顶下去,让
其无法进行任何操作即可以实现同样的效果:
一个系统里,同一个帐号只有一个有效登录。
具体做法比较简单:
1 登录时,生成一个唯一的标识,然后和用户名关联。 标识保存到session或者cookie里面,用于下次访问。
2 下次访问时,判断标识与用户名关联的是否一样,如果不一样则判断重复登录了,本session自动注销。
select * from t_supplier s
left join t_goods g on g.supplier_id=s.id
group by s.id
在MySQL里,非Group 和聚合的字段是可以出现select里面的,系统会自动选择一个数据。
在别的数据库里是不允许这么使用的