我想创建一个最多包含 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(使用前将#替换为@)