나는 내 자신의 인증 시스템을 구축하고있다.SQL, 긴 텍스트 필드에 concat() 로그 데이터를 저장하는 것이 좋지 않습니까?
$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);
는 longtext
필드에 데이터를 기록 할 concat()
를 사용하는 것이 나쁜 : 지금은에 의해 각 로그인 타임 스탬프를 기록하는 내 데이터베이스 설정을 가지고?
내가 다른 방식으로해야할까요?
이 방법을 사용하여 문제가 될 수 있습니까?
좋은 지적입니다. 이미 테이블에 몇 가지 다른 카운터 필드가 있습니다. 나는 단지 참조 용 실제 타임 스탬프를 로깅했다. (문제를 해결하기 위해 필요하지 않으면 구문 분석이 문제가되지 않는다.) 내가 생각한 유일한 다른 방법은 별도의 테이블을 만들고 '목록'스타일로 모두 기록하는 것입니다. 나는 오히려 한 곳에서 모든 것을 지키고 싶다. (그다지 사용되지 않을 것이기 때문에). 일을 단순하게 유지합니다. 의견을 보내 주셔서 감사합니다 !!! – PiZzL3