MySQL增量值为1

时间:2014-11-03 19:40:10

标签: mysql

我试图更新数据库中的某些值,它们当前是空的,我想以1开头的增量添加它们。

实施例

Value
1
2
3
4
5
6

我试过这个,但它没有用。

UPDATE catalog_product_entity_varchar 
SET value = '1' + 1 
WHERE attribute_id = 136

有什么建议吗?

编辑:我正在使用带有phpmyadmin的MySQL服务器

3 个答案:

答案 0 :(得分:2)

这最终有效。

SET @i := 1;
UPDATE catalog_product_entity_varchar
SET value = @i:=@i+1
WHERE attribute_id = 136;

答案 1 :(得分:1)

尝试类似这样的事情(仅限SQL Server):

with [incremented] as
(
    select attribute_id, row_number() over(order by attribute_id) [no], value
    from catalog_product_entity_varchar
)
UPDATE [incremented]
SET value = [no];

Check SqlFiddle

答案 2 :(得分:1)

假设SQL服务器,你可以这样做:

http://sqlfiddle.com/#!6/ebbba/4

declare @counter int
set @counter = 0

UPDATE catalog_product_entity_varchar 
SET value = @counter,
    @counter = @counter + 1
WHERE attribute_id = 136