我正在構建一個使用MySQL作爲存儲的電子表格應用程序,我需要確定正在更新客戶端的記錄以保存更改。MySQL:有沒有像MySQL表中每個記錄的內部記錄標識符?
有沒有一種方法,比如某種「內部記錄標識符」的(內部爲數據庫引擎本身使用),唯一地標識記錄,這樣我就可以更新正確的?
當然,一個SELECT查詢,可以用來識別記錄,包括在表中的所有領域,但顯然已在大多數情況下返回多個記錄的缺點。
重要提示:電子表格應用程序的目標是在任何表格上工作,甚至沒有任何鍵的設計極其糟糕,所以諸如「定義帶有UNIQUE索引的字段並使用該字段的解決方案」等解決方案不是一種選擇,表格結構可能是非常可變的,並不重要。
非常感謝。
我相信phpMyAdmin還會在DELETE和UPDATE子句中添加一個LIMIT 1,其中沒有主鍵可用。 – 2010-02-13 15:56:02
@Adam True。我將它添加到示例中。只要phpMyAdmin是訪問數據庫的唯一實例,這可能是安全的。 – 2010-02-13 15:57:56
乾杯。這正是我目前所採用的解決方案,絕對不是重複安全的。 哇,我感覺到鵝疙瘩。後來實際上是一個聰明的想法,事實上,雖然我承擔了任務,但我不能改變桌子的結構。這將不得不在一個全新的臨時表中播放。 謝謝。 – Webmaster 2010-02-13 16:04:39