我如何限制表格行的数量?

时间:2012-11-29 02:17:57

标签: mysql sql database triggers

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

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

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

3 个答案:

答案 0 :(得分: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

答案 1 :(得分: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;

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

答案 2 :(得分:0)

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