我想在 MySQL 中编写一个存储过程,它使用 where 条件获取帐户,将其除以 10 并根据结果更新行数。
例如,如果帐户总数为 100,我将锁定 100/10 = 10 条记录并更新它们。
我是新手。任何的意见都将会有帮助。
谢谢
我想在 MySQL 中编写一个存储过程,它使用 where 条件获取帐户,将其除以 10 并根据结果更新行数。
例如,如果帐户总数为 100,我将锁定 100/10 = 10 条记录并更新它们。
我是新手。任何的意见都将会有帮助。
谢谢
我建议进行两步过程。
select @rowcount := count(1) from account;
然后用于LIMIT
设置要更新的行的限制:
UPDATE account
SET column1 = desiredvalue
LIMIT @rowcount/10;
希望这可以帮助。
编辑:
select @rowcount := ROUND(count(1)/10) from account;
UPDATE account
SET column1 = desiredvalue
LIMIT @rowcount;
或者
DECLARE rowcount INTEGER;
SELECT ROUND(count(1)/10) INTO rowcount from account;
UPDATE account
SET column1 = desiredvalue
LIMIT rowcount;