有没有一种方法可以根据插入行中另一列的值自动递增MySQL表的条目?例如,某些内容表明这是特定用户名的第五个条目?
我知道我可以在查询后进行行计数,但这不是我要找的。我已经四处寻找,似乎找不到任何相关信息。
谢谢!
Users
的表格,其中包含2列:username
和counter
。以下是您提到的情况的示例代码。运行此代码以创建触发器。它应该在每次插入时触发。CREATE TRIGGER insert_update BEFORE INSERT ON Users
FOR EACH ROW
BEGIN
DECLARE name_count INTEGER;
SELECT COUNT(*) INTO @name_count FROM Users WHERE username = NEW.username;
INSERT INTO Users VALUES (NEW.username, @name_count+1);
END
END
免责声明:这可能不是世界上最有效或最干净的东西。我很想知道其他人能想出什么。
AUTO_INCREMENT
无关 - 您只需要记录特定用户并增加+1。 - Funk Forty Niner