作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在为中美洲的一家小诊所创建一个数据库。该数据库有一个“访问”表,其中包含数十个字段,用于一系列是或否问题。
我知道在 SQL 中存储二进制值的最佳(最简单、最有效)方法是使用位数据类型( x ),但是我知道我也可以使用 char(1) 数据类型作为“Y”或“N”以使用更多空间为代价( x )。
最初,我计划使用位数据类型并存储 1 表示是,0 表示否,但是我不知道如何在 php 中将此显示为 Y 或 N。
目前,在一个单独的表中,我将 HIV 和糖尿病的值存储为 0 或 1,并在 SQL select 语句中对两个单独的表(1 到 Y 和 0 到 N)执行内部联接。
如果我要继续使用这种技术,那么我需要制作几十个将 1 与 Y 以及 0 与 N 相关的表。这似乎效率低下且非常多余。
有没有一种方法可以将一个表的多个列与一个表关联,将 1 与 Y 以及 0 与 N 关联?我正在使用 PHPmyadmin。
最佳答案
恕我直言,您无需为小型诊所争先恐后地节省 table 空间。以最容易维护的方式编写程序。
通过使用位而不是更简单的列类型,您将节省的数量可能达到数万字节。 (=没有什么可衡量的)。
如果您使用任何类型的 int (tinyint?),您可以在查询中翻译为文本。
SELECT IF(column=1,'Sí','No') column
例如。
关于php - 如何在 SQL 中将值显示为 Y 或 N?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47947837/
我是一名优秀的程序员,十分优秀!