Mysql表存储年龄组范围

标签 mysql database database-design

我想在 mysql 表中存储年龄范围。

我想知道设计这样的表格的最佳方法

示例:

0-1 days
0-1 months
2-3 months
1-2 years

像这样

我虽然将其存储为字符串,但这可能很难解析

最佳答案

要允许表格动态,建议您将其另存为行并启用搜索:-

现在根据父 ID 对其进行分组,如下所示

0-1 days
0-1 months
2-3 months
1-2 years  

现在,如果有人属于 30 天类别,父行将为 0-1 个月,依此类推

即如果ageCategoryParentId

DROP TABLE IF EXISTS `age_range`;

CREATE TABLE `age_range` (
  `id` INT (50) NOT NULL AUTO_INCREMENT,
  `ageCategoryName` VARCHAR (50) NOT NULL,
  `ageCategoryDescription` TEXT,
  `ageCategoryParentId` INT (50) DEFAULT NULL,
  `ageCategoryStatus` INT (5) NOT NULL,
  `userId` INT (50) NOT NULL,
  `createdAt` TIMESTAMP NOT NULL,
  `updatedAt` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  `deletedAt` TIMESTAMP NOT NULL DEFAULT '0000-00-00 00:00:00',
  PRIMARY KEY (`id`) USING BTREE,
  UNIQUE KEY `ageCategoryName` (`ageCategoryName`)
);

关于Mysql表存储年龄组范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57546758/

相关文章:

database - 将具有频繁重复字符串值的关系属性分开是否合理?

sql - 在数据库中设计存档。也许有些模式?

mysql - 删除时间戳早于 5 分钟的记录

mysql - sql 在删除表之前查找新加载的 id

javascript - 从数据库中的搜索返回正则表达式模式 (NodeJS)

php - 我应该将文件信息存储在基于 php 的文件管理器的数据库中吗?

MySQL 用户和所有权限

MySQL 错误 : #1248 - Every derived table must have its own alias

Mysql:将半不同的条目插入另一个表

php从数据库中选择变量