php - MySQL:基于列值自动递增?

标签 php mysql sql

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

我知道我可以在进行查询后计算行数,但这不是我想要的。我环顾四周,似乎找不到任何关于此的内容。

谢谢!

最佳答案

假设您有一个包含 2 列的 Users 表,usernamecounter。您提到的案例的示例代码。运行它来创建触发器。它应该在每次插入时触发。

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

免责声明:这可能不是世界上最高效或最干净的东西。我会对其他人的想法感兴趣。

关于php - MySQL:基于列值自动递增?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20234763/

相关文章:

php - Sphinx setFilter() 杀死所有结果

mysql - 使用sql loader将包含html格式的数据从mysql移动到oracle

mysql - 如何连接Mysql和logstash?

mysql - 从 MySQL 中当前行上方的行中减去值

sql - 如何 stub sqlmock 以永不返回错误?

javascript - 为帖子添加 javascript

PHP MySql INSERT INTO - 语法错误

php - 使用 Snappy wkhtmltopdf 时,内容不兼容为 PDF

mysql - 在同一台服务器上导入两个具有相同架构(数据库名称)的不同 mysql 转储文件

php - 存储非英文字符,得到 '?????' - MySQL 字符集问题