我正在制作一个网络应用程序。在服务器端的某些情况下,我正在进行mysql查询,我基本上说的where d.id=2
意思是我将外键硬编码到另一个表。或者在客户端,我有一个带有无线电字段的表单,并且输入字段的值是表的主键的ID号(例如1、2、3)。
我想知道是使用这些“魔术数字”的好习惯,还是应该在查询中使用字符串值(将需要连接)和表单中的字符串值作为输入值,然后在其中使用使用查询该字符串值。
似乎这两种方式,如果我需要编辑表行(更改主键值或字符串值),那么我将不得不更新客户端和服务器端的所有内容。
有什么好的做法?
谢谢
ID号通常由数据库(例如,使用MySQL AUTO_INCREMENT
)任意分配,这只是计时的偶然。依赖它们并将它们硬编码到您的代码中通常是一个坏主意。相应的名称更改的可能性较小,因此,如果您必须对某些内容进行硬编码,则通常更安全。
同样,硬编码的ID使代码更难理解。幻数对读者没有内在的含义,但是字符串是助记符。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句