在MySQL中是否有办法通过某种增量增加某些行字段的值并在一个语句中选择结果?重点在于#34;在一个陈述中#34;。
它应该像Redis的INCRBY command那样工作,你可以在一个增量中递增一个键,并在一次操作中收回结果。
例如,我可以在一个声明中这样做:
更新
table
SETcounter
=counter
+ 1 WHEREid
= id LIMIT 1;SELECT
counter
FROMtable
WHEREid
= id LIMIT 1;
如果在一个声明中无法做到这一点,那么明智地做这种表现的最佳方式是什么?
答案 0 :(得分:0)
在MYSQL中,您需要创建一个包含该代码的存储过程,然后调用它。
DELIMITER $$
DROP PROCEDURE IF EXISTS updateWithCounter $$
CREATE PROCEDURE updateWithCounter ()
BEGIN
DECLARE cnt INT DEFAULT 0;
WHILE cnt < 10 DO
UPDATE table SET counter = cnt WHERE id = id LIMIT 1;
SET cnt = cnt + 1;
END WHILE;
END $$
DELIMITER ;
CALL updateWithCounter ();
有关在MySQL中使用变量的更多信息,您可以找到here