問題描述
我明白 post ID’s are unique,但它們是否可靠作為持久性數據 ID?
更具體地説,是否保證通過遷移或其他數據交換,帖子 ID 不會改變?
我理解 wordpress 主要是使用 MySQL 實現的,所以 ID 由 AUTO_INCREMENT 機制管理; 然而,Wordpress 的結束之前是否有任何警告會在將來改變這種行為,或者有可能通過另一個持久性實現 (如 MongoDB)?
最佳解決方案
I understand that post ID’s are unique, but are they reliable as persistent data ID’s?
是。
次佳解決方案
迂迴答案是否定的。
雖然 ID 是唯一的,但只要更改保留數據庫的一致性,它們就可以在 UX 中進行任何更改。而創建一個新的帖子時,會生成一個新的唯一 ID,也可以通過代碼創建一個帖子來重用一些”old” ID 。
實際上,它們是可靠的,但如果可靠性對您來説非常重要,那麼您需要附加一些數據作為您自己需要的可靠標識符。
更新:完全忘記了它,因為它很少使用,大多數時候我看到它使用不正確,但 wordpress 有一個可靠的唯一標識符定義,它是 GUID
第三種解決方案
回顧一下已經説過的一切,答案是:
是的,ID 是可靠的,只要你不使用 WordPress XML 導出器/導入器將有問題的帖子導入到另一個安裝中。只要您遷移現有數據庫,並且不從頭開始安裝 WordPress,ID 將保持不變。
PS1:是的,正如 Mark Kaplun 所説,如果您自己手動更改或重新使用 ID,則 ID 可以更改或重複使用,但您已經知道,任何數據庫上的任何字段都是正確的。
PS2:wp_posts GUID 字段不應該被信任為常量,因為它們依賴於原始帖子的 URL,並且可能會在網站被遷移時無意中被新的 URL 替換,並且顯然,在使用導出器/導入器時 GUID 也會改變。
參考文獻
注:本文內容整合自 Google/Baidu/Bing 輔助翻譯的英文資料結果。如果您對結果不滿意,可以加入我們改善翻譯效果:薇曉朵技術論壇。