MySQL 更新クエリで Int をカウントする方法はありますか?
現在、私は持っています
UPDATE mails SET uid = 4275
そして、私は次のようなものが欲しい
UPDATE mails SET uid = (4275++)
MySQL 更新クエリで Int をカウントする方法はありますか?
現在、私は持っています
UPDATE mails SET uid = 4275
そして、私は次のようなものが欲しい
UPDATE mails SET uid = (4275++)
このようなことをしたいですか?
SELECT @i:=425;
UPDATE mails SET uid = @i:=@i+1;
UPDATEメールSETuid= uid + x
xは任意の数を意味します
私はあなたの質問をきちんと得られませんでした、しかし私は私が理解したようにただ答えています
UPDATEメールSETuid= uid + 1
つまり、現在のuidをlastuid+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
UPDATE mails SET uid = uid +1
すべての uid 列に 1 を追加します。
試す
UPDATE mails SET uid = uid+1
where uid = 4275
独自のカウンターを保持できます
declare @curr_uid integer;
SET @curr_uid = 4275; -- initial uid
update mails
set uid = @curr_uid , @curr_uid = @curr_uid + 1