我正在尝试重写此查询
DELETE FROM users WHERE confirmed != 0 AND member_since < (NOW() - INTERVAL 1 MINUTE);
进入CodeIgniter Active Record类语法。我现在的代码不会影响任何行。我想是的,因为我在(NOW() - INTERVAL 1 MINUTE)
括号内有''
..但是,当我不使用括号时,我的控制器就会崩溃..请看下面的代码。
$this->db->where('confirmed !=', '0');
$this->db->where('member_since <', '(NOW() - INTERVAL 1 MINUTE)');
$this->db->delete('users');
如果您有任何想法如何重写代码以使其工作,请告诉我。感谢您阅读并希望回复:)
BTW:member_since
列的默认值设置为CURRENT_TIMESTAMP
PS:我应该忘记CI的语法并以常规方式编写查询(mySQL语法)吗?
答案 0 :(得分:3)
您可以将字符串作为条件传递。 所以你只需通过以下条件。
$this->db->where("confirmed != 0 AND member_since < (NOW() - INTERVAL 1 MINUTE)");