维护登录注销日志的表结构应该是什么?

Raj*_*wal 3 php mysql database-design database-table

我有如下登录日志表

Field       Type
login_id    int(10)     NOT NULL
platform    varchar(50) NOT NULL
browser     varchar(50) NOT NULL
ipaddress   varchar(50) NOT NULL
last_login  datetime    NULL
last_logout datetime    NULL
Run Code Online (Sandbox Code Playgroud)

但是在这个结构上,我很困惑我可以添加登录时间,但很难在注销时间更新它。我没有添加主键,因为日志很频繁,主键很快就会达到最大值。最好的方法应该是什么?请帮忙。

小智 6

像这样同时登录和注销的单行只是自找麻烦,因为它假设每个登录都有相应的注销,但事实并非如此。有时他们会在公共计算机上登录并且从不退出,有时他们会打开一个匿名窗口并登录。

相反,我会将其简化为一种类型:

  • 登录ID
  • 平台
  • 浏览器
  • IP地址
  • 日期
  • 类型(登录/注销)