2015-02-04 111 views
0

這是一個奇怪的問題,但我一直在與開發人員一起討論這個問題。 我會在汽車DB簡單mysql字段更新

領域 CHEV,躲閃,chrystler,福特(等等) 我寫的PHP/MySQL的應用程序讀取和處理這些數據。但在極少數情況下,更多的往往不是這些天,他們在去更改領域 所以現在可以讀取 chevorlet,躲閃,chrys,福特< - 帽

因此,這裏是一個想法,我認爲解決這個問題,似乎長篇大論,而且我希望有一個更好的解決方案

做一個配置文件, cars = array('chev' => 'chev', 'dodge'=>'dodge'等等

然後,如果他們改變的東西,我可以編輯配置,以反映。所以與上面的例子 cars = array('chev' => 'chevorlet', 'dodge'=>'dodge'等...

現在在我的PHP中所有對「chev」的引用將顯示chevorlet。

這是一個好方法還是我完全錯過了標記。這是一個巨大的數據庫,我喜歡我寫的應用程序,因爲我也可以遠程操作它。但是,這些變化,擾亂了源頭。

+0

對我來說這似乎是一個合理的解決方案,除了爲他們的mySQL用戶設置不同的權限以便將他們從這些更新中鎖定出來。 –

+0

理想情況下,您應該在數據庫數據更改之前驗證輸入;將輸入的值與汽車白名單進行比較。 – George

+0

@BitwiseCreative如果我能,我會,但它是他們的db,我只是有權使用它,因爲我喜歡。有像。它只發生在主要的更新中,並不是所有的領域都得到改變,但是當它發生時,這是令人討厭的。我認爲會有一些更快的方法,但我並不介意將「原始」字段存儲在配置文件中,只是對它們進行了更新,從而保護我的代碼免於崩潰:-) – Cain

回答

0

您可以使用枚舉數據類型來只允許特定的情況下,或觸發器強制轉換爲一致的情況。但是,最好的解決方案是強制對具有正確形式的數據的表作爲主鍵的外鍵約束。確保你使用ascii bin比較。