gpt4 book ai didi

php - sql语句在最后一个条目中选择一个字段的值

转载 作者:太空宇宙 更新时间:2023-11-03 12:32:21 28 4
gpt4 key购买 nike

我创建了一个 mysql 数据库表,它有两个字段,serial #(主键,自动递增)version。

我想要做的是,对于我对该数据库所做的每一次插入,将 version 值设置为 1,然后是 2、3、4、5,然后再次回到 1。

我可以想象通过在执行插入之前拉出表中的最后一个条目来做到这一点。我怎样才能做到这一点?有更容易的方法吗?我正在使用 PHP。

最佳答案

您可以使用内置的 MySQL 触发器:http://dev.mysql.com/doc/refman/5.0/en/triggers.html

您可以创建一个数据库触发器来执行您想要的操作。语法是这样的:

CREATE
TRIGGER `event_name` BEFORE/AFTER INSERT/UPDATE/DELETE
ON `database`.`table`
FOR EACH ROW BEGIN
-- trigger body
-- this code is applied to every
-- inserted/updated/deleted row
END;

编辑:

触发器直接在数据库端创建。您可以使用 MySQL CLI 或 PHPMyAdmin 进行连接以运行查询。

此外,一个懒惰的解决方案可能是使用类似于 aaaaaa123456789 建议的查询:

SELECT (
(SELECT version FROM <table name here> ORDER BY id DESC LIMIT 0, 1) % 5
) + 1 as version;

模数 (%) 运算符返回两个数字相除的余数,可用于限制您的增量。

例如:

 1 % 5 = 1
2 % 5 = 2
3 % 5 = 3
5 % 5 = 0
7 % 5 = 2
10 % 5 = 0

PS.:我没有尝试过这个查询,因为我不在我的开发机器上,但从我的角度来看它是有效的。

关于php - sql语句在最后一个条目中选择一个字段的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14805235/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com