2015-02-04 112 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比较。