我希望当CodeIgniter中的timing
日期小于当前日期时,它应该删除行auto。 我有一个名为doctor
的表。字段分别为id(int)
、crated_at(timestamp)
timings(varchar)
、name(varchar)
。
我习惯以mm/dd/yyyy
格式插入计时。我希望当日期小于当前日期时,应该删除行自动。
型
public function delete_book(){
$date = date("m/d/Y");
$this->db->where("timings < (".$date." - INTERVAL 1 DAY)");
$this->db->delete("doctors");
}
请让我知道我的代码的错误
使用这个
$this->db->where("timings < DATE_SUB(curdate(), INTERVAL 1 DAY)",NULL,FALSE);
$this->db->delete("doctors");
你应该使用MySql的NOW()
函数。NOW()
返回系统的日期,并且还与MySql查询兼容。
public function delete_book(){
//$date = date("m/d/Y");
$this->db->where("timings < (NOW() - INTERVAL 1 DAY)");
$this->db->delete("doctors");
}
将工作可以使用
$this->db->where('timings BETWEEN NOW() - INTERVAL 1 DAY AND NOW()', "", false);
$this->db->delete("doctors");
希望完全有效。
您可以使用DATE_SUB函数
public function delete_book(){
$this->db->where("timings < DATE_SUB(curdate(), INTERVAL 1 DAY)");
$this->db->delete("doctors");
}
上面函数生成的查询是:-
DELETE FROM `doctors` WHERE `timings` < DATE_SUB(curdate(), INTERVAL 1 DAY)