mysql设置带触发器的最大行数

时间:2013-12-01 14:32:24

标签: mysql triggers max

我想创建一个最多5行的表。因此,如果我添加一个新行并且该表已经有5行,则触发器应该删除第一行并添加新行。

e.g:

 my_table

 id | data
 ---------
 1  | a
 ---------
 2  | b
 ---------
 3  | c
 ---------
 4  | d

更改为

 my_table

 id | data
 ---------
 2  | b
 ---------
 3  | c
 ---------
 4  | d
 ---------
 5  | e

1 个答案:

答案 0 :(得分:4)

您可以使用触发器执行此操作:

CREATE TRIGGER handleFiveRows BEFORE INSERT ON tableName
FOR EACH ROW
BEGIN
    IF (SELECT COUNT(*) FROM tableName) = 5 THEN
        DELETE FROM tableName
        ORDER BY id 
        LIMIT 1;
    END IF;    
END;

每当你有5行时,这将删除id最小的行,插入后你将再次输入5行。