簡體   English   中英

沒有主鍵的MySQL更新

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM