1

我有一个包含列的简单表格:

date - DATETIME
name - varchar(50)
text - varchar(200)

如何在添加第 11 行之前获取包含要删除的最早日期值的行,因此行数始终为 10?

4

3 回答 3

1

使用触发器

create TRIGGER trigger_name before insert on table_name FOR EACH ROW BEGIN if count > 10 then delete from table_name insert into table_name values(id, name , quantity); END if; END ;

你也可以参考这个链接 http://dev.mysql.com/doc/refman/5.0/en/triggers.html

于 2012-11-29T05:46:58.433 回答
0

使用删除查询创建删除后触发器:

     //get the row count
     IF rowCount > 10
       DELETE from myTable
       WHERE date = 
        (select date from 
          (select date from myTable
          order by date asc LIMIT 1) as tempTable
        )
      END IF;

我建议这样做是因为删除查询中的相同表条件不起作用。是我的另一个答案。

于 2012-11-29T02:21:52.513 回答
0

更新最旧的行而不是执行insert+ delete? 当然,您需要确保表中有 10 行。

于 2012-11-29T05:57:19.087 回答