【发布时间】:2018-06-16 15:32:18
【问题描述】:
当一个表中有15 行,然后我添加一个新行时,有没有办法自动删除该表中的第一行?
所以应该是这样的:
ids 1-15 ,然后当我添加一个新的: ids 2-16 ,然后我再次添加一个新的: ids 3-17 等等。
编辑1: 我现在有这个代码,但它对我不起作用。
$this->db->select('count(*)');
$this->db->from('chat');
$countChat = $this->db->get();
if ($countChat >= '16') {
$this->db->delete();
$this->db->from('chat');
$this->db->order_by('id');
$this->db->limit('1');
}
【问题讨论】:
-
添加后,您可以运行查询来计算行数。如果是 15,则删除第一个。虽然我也建议您添加一个创建日期列,以便您知道首先添加了哪一行等
-
也许使用
INSERT触发器?您还需要仔细定义“第一”的含义。最低身份证?还有什么?虽然老实说,我无法想象你为什么需要这样的东西,而且我高度怀疑这个问题之外的某个地方的设计决策很糟糕。 -
我需要一个聊天框,我希望它在聊天框中最多有 15 条消息,然后在发送新消息时删除最新消息,第一个是最低 id