mysql用触发器设置最大行数

2024-01-28

我想创建一个最多包含 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

您可以使用触发器来做到这一点:

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 行。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

mysql用触发器设置最大行数 的相关文章