0

MySQL 更新クエリで Int をカウントする方法はありますか?

現在、私は持っています

UPDATE mails SET uid = 4275

そして、私は次のようなものが欲しい

UPDATE mails SET uid = (4275++)
4

6 に答える 6

3

このようなことをしたいですか?

SELECT @i:=425;

UPDATE mails SET uid = @i:=@i+1;
于 2012-10-08T08:37:23.117 に答える
1

UPDATEメールSETuid= uid + x

xは任意の数を意味します

私はあなたの質問をきちんと得られませんでした、しかし私は私が理解したようにただ答えています

UPDATEメールSETuid= uid + 1

つまり、現在のuidをlastuid+1だけインクリメントします

于 2012-10-08T08:34:38.723 に答える
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

于 2012-10-08T08:32:05.897 に答える
0

UPDATE mails SET uid = uid +1すべての uid 列に 1 を追加します。

于 2012-10-08T08:35:45.397 に答える
0

試す

UPDATE mails SET uid = uid+1
where uid = 4275
于 2012-10-08T08:35:49.390 に答える
-1

独自のカウンターを保持できます

declare @curr_uid integer; 
SET @curr_uid = 4275; -- initial uid

update mails
set uid = @curr_uid , @curr_uid = @curr_uid + 1
于 2012-10-08T08:38:32.400 に答える