0

我正在构建自己的身份验证系统。现在我有我的数据库设置来记录每个登录时间戳:

$query = 'UPDATE `users` SET login_log = concat(login_log, ?) WHERE userKey = ? LIMIT 1 ';
$vars = array(time().',', $this->userKey);  
$QH = $this->DBH->prepare($query);
$QH->execute($vars);

concat()使用在longtext字段中记录数据是否不好?
我应该以不同的方式这样做吗?
使用这种方法我可能会遇到任何问题吗?

4

1 回答 1

0

我能想到的唯一一件事是,除非有业务需要只有一个 login_log 字段,否则没有理由连接,特别是如果你想对之后的时间部分执行约束......你会在获得所需的 time() 组件之前,必须解析所有其他日志文本(这里是其他时间)。

您可以更轻松地标准化您的数据并添加一个自动递增的 int PK,然后是一个 userKey 字段和一个 login_LogDate 字段。每次登录后,您可以在用户表中插入用户名和当前时间。然后,您可以轻松地找到最小、最大、前 N 次登录等,这比将其拆分要容易得多。

于 2011-03-30T17:59:55.153 回答