0
이 쿼리를 어떻게 수행해야하는지 파악하려고합니다. 특정 기한을 등록했지만 활성화되지 않은 모든 사용자를 삭제하려고합니다. 내 지식codeigniter에서 쿼리 삭제
usersRegistrationsTable - userID, registrationDate
usersTable - userID, usersStatusesID
이 쿼리를 어떻게 수행해야하는지 파악하려고합니다. 특정 기한을 등록했지만 활성화되지 않은 모든 사용자를 삭제하려고합니다. 내 지식codeigniter에서 쿼리 삭제
usersRegistrationsTable - userID, registrationDate
usersTable - userID, usersStatusesID
는, CodeIgniter의는 액티브 레코드 인터페이스를 통해 DELETE
쿼리에서 JOIN
의를 지원하지 않습니다
function purgeNA($expirePeriod)
{
$this->db->where('usersStatusesID', 1);
$this->db->where('UNIX_TIMESTAMP(registrationDate) <', time() - $expirePeriod);
$this->db->delete($this->usersRegistrationsTable);
}
여기 내 DB 구조입니다. 대신 다음과 같이 SQL 문을 실행해야합니다.
$sql = "DELETE FROM
usersTable u
JOIN usersRegistrationsTable r ON u.userID = r.userID
WHERE usersStatusesID = 1 AND UNIX_TIMESTAMP(registrationDate) < ?";
$this->db->query($sql, array(time() = $expirePeriod));
'usersTable'및 'usersRegistrationsTable'에서 삭제 하시겠습니까? 또는'usersTable' 만? –
두 테이블 모두 일정 시간이 지나면 다시 등록해야합니다. –
기본 키를 삭제할 때 외래 키가 삭제되면 외래 키 제약 조건과 데이터베이스 구조를 확인하십시오. –