Codeigniter 3:删除所有超过 2 个月的行
Posted
技术标签:
【中文标题】Codeigniter 3:删除所有超过 2 个月的行【英文标题】:Codeigniter 3: delete all rows older than 2 months 【发布时间】:2016-12-18 21:57:45 【问题描述】:我正在使用 codeigniter 3。我想从表“anwser”中删除所有超过 2 个月的行(mysql 表中的日期时间)。我没有收到错误。但不会删除任何行。 有什么建议吗?
型号:
function delete_old_anwsers()
$this->load->model('quiz_model');
$this->db->where('datum <', 'strtotime('-2 month')');
$this->db->delete('anwser');
控制器:
$this->quiz_model->delete_old_anwsers();
谢谢
解决方案:
function delete_old_answer()
$this->db->query("DELETE FROM answer WHERE datum < NOW() - INTERVAL 2 MONTH ");
【问题讨论】:
你可以试试$this->db->query("DELETE FROM answer WHERE datum < DATE_SUB(NOW(), INTERVAL 2 MONTH)");
。
@Tpojka 谢谢!
' function delete_old_answer() $this->db->query("DELETE FROM answer WHERE datum
【参考方案1】:
您需要编写一个每天都会执行的 cron 作业。
在那里,您可以添加此查询,它将删除所有超过 2 个月的答案。
【讨论】:
【参考方案2】:在 Active Record 中它将是:
$this->db->where('datum < DATE_SUB(NOW(), INTERVAL 60 DAY)');
$this->db->delete('anwser');
【讨论】:
以上是关于Codeigniter 3:删除所有超过 2 个月的行的主要内容,如果未能解决你的问题,请参考以下文章
从 codeigniter 2.1.3 中删除 index.php