加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

php – MySQL使用数字状态代码与文本

发布时间:2020-12-11 23:48:49 所属栏目:MySql教程 来源:网络整理
导读:通常在我的项目(PHP / MySQL)中,我必须在某些数据库表中添加“status”字段.例如,标记任务是否已提交,已批准,已拒绝. 出于习惯,到目前为止我一直在使用数字状态代码(0代表提交,1代表批准,-1代表拒绝).出于某种原因,我认为服务器处理起来效率更高. 现在我想知

通常在我的项目(PHP / MySQL)中,我必须在某些数据库表中添加“status”字段.例如,标记任务是否已提交,已批准,已拒绝.

出于习惯,到目前为止我一直在使用数字状态代码(0代表提交,1代表批准,-1代表拒绝).出于某种原因,我认为服务器处理起来效率更高.

现在我想知道,我的假设有缺陷吗?有关系吗?为了便于阅读,将它们存储为VARCHAR会更容易,例如’SUBMITTED’,’APPROVED’,’REJECTED’.然后在PHP代码中而不是检查数值,检查字符串.

我很确定在理论上检查INT比String更快.但是,对于网络应用程序来说,这是不同的吗?

请指教.

谢谢

最佳答案 也许这只是一个偏好问题,但我讨厌没有明显意义的魔术数字.在这种情况下,通常有两种情况:

>价值观不太可能改变(例如,性别:男/女)
>价值可能会发生变化(例如,类别:本地/国家/体育……)

在第一种情况下,我更喜欢使用ENUM作为列类型.它在内部作为整数处理,但你将它称为字符串.

在第二种情况下,我创建一个主表并将子列定义为外键.这给了值的一些含义,即使它是一个自动递增的整数.并且它无论如何都不需要是整数.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读