我需要在 mysql 字段中存储一个分数,但这个分数可以是时间、整数或 float 。我这样做的第一种方法是确定分数类型,然后将其输入三个字段之一,但如果需要添加新的分数类型,我不想不断地向数据库添加字段。我记得在某个地方有人告诉我,如果您将 somethign 存储为 varchar,那么将无法将其读取为整数、 float 甚至日期。我的问题是,我能否将所有这三种类型存储为一种特定类型,但在从数据库中获取它并在我的 php 代码中使用它时以我需要的任何方式读取它?
最佳答案
在我看来,您可以将该字段建模为 FLOAT,除非您绝对需要了解存储的变量类型。可以通过转换为时间戳将时间转换为整数值。整数是实际(浮点)数字集的子集,所以我想你已经涵盖了所有内容。浮点运算可能会导致精度和相等性测试出现一些问题,所以要小心!
关于php - 如果变量存储为 varchar,是否可以将其识别为 int 或 float 或 time,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10486672/