MySQL:基于列值的自动增量?

时间:2013-11-27 05:42:38

标签: php mysql sql

有没有办法根据插入行中另一列的值自动将条目增加到MySQL表?例如,有人说这是特定用户名的第五个条目吗?

我知道在查询后我可以进行行计数,但这不是我想要的。我环顾四周,似乎无法找到任何东西。

谢谢!

1 个答案:

答案 0 :(得分:2)

假设您有一个包含2列Usersusername的表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

免责声明:这可能不是世界上最有效或最干净的事情。我会对其他人提出的问题感兴趣。