【发布时间】:2018-02-09 08:10:39
【问题描述】:
基本上我需要在 SQL Server 中运行这个查询。我在 MySQL 中执行,效果很好。
SET @startID:=29;
update test
set ID=@startID:=@startID+1;
谢谢
【问题讨论】:
-
这个查询应该做什么?只是将一个字段设置为 30?你有没有尝试过,甚至检查过变量的语法?
-
他正在尝试用变量@startID 的值更新ID 列,并使其在每次更新一行时递增。
-
如果你想创建递增值,MySQL 查询实际上是一个很容易失败的 hack。 SQL Server 具有序列、IDENTITY 列和排名函数。
-
@MBijen 这是企图破解,而不是 OP 想要实现的目标。例如,为什么不在 UPDATE 之前增加值?为什么不从一开始就设置为 30?
-
@panagiotis-kanavos 我同意你的看法。
标签: mysql sql sql-server