반응형
mySql을 사용하고 있으며 테이블 열 date
는 DATETIME 유형입니다.
하지만 시간이 아닌 오늘 날짜 만 비교하고 싶어
$today = date("Y-m-d", time());
위의 방법을 사용하여 날짜를 비교하면 항상 잘못됩니다.
$this->update("
UPDATE `stats_tracker`
SET
`user_agent`='$this->visitor_user_agent' ,
`referrer`='$this->referrer_page' ,
`page_views`='$page_views'
WHERE
`visitor_ip`='$this->visitor_ip'
AND `page`='$this->this_page'
AND `date`='$today'");
나는 좋은 mySQL 프로그래머가 아닙니다.
해결 방법
날짜 또는 날짜 시간 표현식의 날짜 부분을 추출하는 DATE라는 mysql 함수가 있습니다.
AND DATE(`date`)='$today'
편집 : 아래 주석에서 언급했듯이 조심하십시오. 이것을 사용하면 datetime 필드의 색인이 우회됩니다. 대신 사용해야합니다.
AND date BETWEEN '$today 00:00:00' AND '$today 23:59:59'
참조 페이지 https://stackoverflow.com/questions/11523367
반응형
'MySql' 카테고리의 다른 글
MySQL 사용자 'root'@ 'localhost'에 대한 액세스 거부 (암호 사용 : YES) : PhpMyAdmin (0) | 2021.02.04 |
---|---|
MySQL 정의되지 않은 변수 : POST-PHP 및 MySQL (0) | 2021.02.04 |
MySQL 세션-쿼리를 종료하여 테이블 잠금 해제 (0) | 2021.02.03 |
MySQL mysql codeigniter에서 3 개의 테이블 조인 (0) | 2021.02.03 |
MySQL MySql Workbench에서 저장 프로 시저 테스트 (0) | 2021.02.03 |
댓글