我有一个表格,说明我在主菜单中使用了哪些项目:
模型 | 显示名称 | 子菜单| 积极的
MYSQL:
CREATE TABLE `main_menu` (
`model` varchar(255) NOT NULL COMMENT 'name of the model',
`display_name` varchar(255) NOT NULL,
`sub_menu` enum('Fruits','Vegtables','Grains','Breads','Snacks','Sweets') DEFAULT NULL,
`active` tinyint(1) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
例子:
model | display_name | sub_menu | active
---------------------------------------------
potato | Potato | Vegtables | 0
apple | Apple | Fruits | 1
pumpkin | Pumpkin | Vegtables | 1
应该是什么类型的exp_date
?显然是“日期”……但如果某行没有 exp_date,什么被认为是“好的做法”?插入NULL
? 插入0000-00-0
?
model | display_name | sub_menu | active | exp_date
--------------------------------------------------------------
potato | Potato | Vegtables | 0 | NULL
apple | Apple | Fruits | 1 | NULL
pumpkin | Pumpkin | Vegtables | 1 | 2019-03-01
使用 MySQL 5.7,可能会迁移到新的 8 版本。我只是想确保我正确地做这件事。我记得(不确定来自哪里)问题中的日期类型和日期值,并且有一种正确的方法可以做到这一点。
NULL
当到期日期未知时,我认为用作占位符没有任何问题。考虑作为示例,您要查找所有尚未过期的记录。治疗NULL
为未未满时,我们可以写出下面的查询:
SELECT model, display_name, sub_menu, active, exp_date
FROM main_menu
WHERE exp_date > NOW() OR exp_date IS NULL;
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句