在我的数据库设计中,我倾向于将一些用作角色或类型的变量存储为SMALLINT
。
例如:
CREATE TABLE `house` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`type` smallint(11) NOT NULL,
在PHP中,我执行以下操作:
define('HOUSE_SMALL_TYPE', '0');
define('HOUSE_MEDIUM_TYPE', '1');
所以在 PHP 中,在
SELECT
查询中,我执行以下操作:$this->db->query("SELECT * FROM house
WHERE type = ?;", HOUSE_SMALL_TYPE);
- 在PHP部分,是否有更好的方法来做到这一点?
- 在MySQL本身中,MySQL是否也具有全局定义功能(如PHP中的define)?
我还想做类似的事情。
SELECT * FROM house WHERE type = HOUSE_SMALL_TYPE;
在MySQL查询中。
我的目的是,在MySQL中进行SELECT时,我不想一直将值0、1、2与其真正含义进行映射。这只是为了方便查看表的值,而不改变表和字段的结构。