讓我們假設我們有一個表格,其行是僅由它們的位置標識的,並且沒有其他特別的區別(作爲主鍵,ID,時間戳等),並且 因爲MySQL'DELETE'語法不允許LIMIT如何成功刪除這樣的表中的一行。根據表格中的位置刪除行
像:
DELETE FROM `table` LIMIT 49,1
因爲它是可能的:
SELECT * FROM `table` LIMIT 49,1
我感謝你在爲你的好意,幫助一個答案。
讓我們假設我們有一個表格,其行是僅由它們的位置標識的,並且沒有其他特別的區別(作爲主鍵,ID,時間戳等),並且 因爲MySQL'DELETE'語法不允許LIMIT如何成功刪除這樣的表中的一行。根據表格中的位置刪除行
像:
DELETE FROM `table` LIMIT 49,1
因爲它是可能的:
SELECT * FROM `table` LIMIT 49,1
我感謝你在爲你的好意,幫助一個答案。
這不是一個有用的功能,因爲表中的行順序不能保證。在負載下,由於MySQL的行爲,表總會以不同的順序出現。
你可以嘗試以下方法,但如上所述,它不能保證準確
DELETE FROM `table`
WHERE `col1` IN (SELECT `col1` FROM `table` LIMIT 49,1)
AND `col2` IN (SELECT `col2` FROM `table` LIMIT 49,1)
AND ...
LIMIT 1;
通常情況下,你將需要添加一個額外的列來存儲行位置。隨着位置,你可以很容易地刪除與位置50行。 – ajreal