我想弄清楚如何更新一行,比如select上的limit 2,2
有一个小例子:
col1 | col2
5 10
5 10
5 10
我想这样更新第二行:
col1 | col2
5 10
1 10
5 10
我知道行号,所以我想这样:
UPDATE table
SET col1 = 1
WHERE col1 = 5
LIMIT 2, 1
我们不能使用极限,但我知道这是可以实现的,heidisql可以做到这一点,我试图找出他们是如何做到的
谢谢
1条答案
按热度按时间6kkfgxo01#
如果需要更新特定行,则需要一个或多个列可以用作主键。
sql在行集合上工作,您只能更新可以标识为属于该集合的行。
例如,你可以
这将为销售额超过1000的任何客户设置“首选”标志。这可能是一个客户或一百万或没有。
要进行您所询问的单行更新,唯一的方法是使用某种方法来标识行。在许多数据库服务器中,您可以配置一个标识或序列列,该列将自动为每一行分配一个唯一的id。
您可以使用identity属性集添加一个id列,这将使您:
因此,更新特定行将是: