[英]MySQL update without primary key
我想弄清楚如何在選擇時更新像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可以做到,我正試圖弄清楚他們的情況
謝謝
如果需要更新特定的行,則需要一個或多個可用作主鍵的列。
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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.