In my database design, I tend to store some variable that is meant to be acting as a ROLE or TYPE as SMALLINT
. For example :
CREATE TABLE `house` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`type` smallint(11) NOT NULL,
And in php, I do
define('HOUSE_SMALL_TYPE', '0');
define('HOUSE_MEDIUM_TYPE', '1');
So in php, in SELECT queries I do :
$this->db->query("SELECT * FROM house
WHERE type=?;", HOUSE_SMALL_TYPE);
My questions are :
- In the php part, is there is a better way to do this ?
- In the mysql itself, does mysql also has global define functionality (like the define in php) ?
I also want to do kind of
SELECT * FROM house WHERE type = HOUSE_SMALL_TYPE
in mysql query.
My purpose is that when I do SELECT in mysql, no way I'm going to keep mapping the value 0,1,2 with its real meaning. Just convineance for viewing the tables values, without changing the structure table and fields.