我试图更新数据库中的某些值,它们当前是空的,我想以1开头的增量添加它们。
实施例
Value
1
2
3
4
5
6
我试过这个,但它没有用。
UPDATE catalog_product_entity_varchar
SET value = '1' + 1
WHERE attribute_id = 136
有什么建议吗?
编辑:我正在使用带有phpmyadmin的MySQL服务器
答案 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];
答案 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