我正在寻找如何在选择项上更新像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可以做到,我正试图弄清楚他们的情况
谢谢
答案 0 :(得分:0)
如果您需要更新特定的行,则需要一个或多个可用作主键的列。
SQL适用于行集,并且您只能更新可以标识为属于该行的行。
例如,您可以
UPDATE Customers SET Preferred=True WHERE TotalSales > 1000
这将为销售量超过1000的任何客户设置“首选”标志。该客户可能是一个客户,也可能是一百万个客户,甚至没有。
进行所要求的单行更新的唯一方法是采用某种方法来标识该行。在许多数据库服务器中,您可以配置IDENTITY或SEQUENCE列,这些列将自动为每一行分配一个唯一的ID。
您可以添加具有IDENTITY属性集的ID列,这将使您:
ID | col1 | col2
1 5 10
2 5 10
3 5 10
因此更新该特定行将是:
UPDATE table SET col1 = 1 WHERE ID = 2