我有一个包含列的简单表:
date - DATETIME
name - varchar(50)
text - varchar(200)
如何在添加第11行之前获取包含要删除的最早日期值的行,因此行数始终为10?
答案 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行。