有没有办法在MySQL更新查询中计算Int?
目前我有
UPDATE mails SET uid = 4275
我想要像
这样的东西UPDATE mails SET uid = (4275++)
答案 0 :(得分:3)
你想做这样的事吗?
SELECT @i:=425;
UPDATE mails SET uid = @i:=@i+1;
答案 1 :(得分:1)
如果您需要更新表格以便将每个uid
增加1,那么您可以这样做:
UPDATE mails
SET uid = uid + 1;
但是如果您需要将每个值uid
增加一个增量值,请尝试:
SET @counter = 0;
UPDATE mails m1
INNER JOIN
(
SELECT *, (@counter := @counter +1) as counter
FROM mails
) m2 ON m1.uid = m2.uid
SET m1.uid = m1.uid + m2.counter
如果您想从4275开始计算,只需将计数器设置为SET @counter = 4275
答案 2 :(得分:1)
更新邮件SET uid = uid + x
x表示任何数字
我没有正确地回答您的问题,但我只是按照我的理解回答
更新邮件SET uid = uid + 1
即通过lastuid + 1增加当前uid
答案 3 :(得分:0)
UPDATE mails SET uid = uid +1
会在每个uid列中添加1。
答案 4 :(得分:0)
尝试
UPDATE mails SET uid = uid+1
where uid = 4275
答案 5 :(得分:-1)
你可以保留自己的计数器
declare @curr_uid integer;
SET @curr_uid = 4275; -- initial uid
update mails
set uid = @curr_uid , @curr_uid = @curr_uid + 1