Mon application immobilière dispose d'une table de base de données contenant les requêtes (requêtes) de l'utilisateur. Cette table contient toutes les informations sur une requête immobilière particulière.Quelle est la solution idéale pour stocker plusieurs ID dans une table de base de données?
La table de base de données ressemble à ceci:
CREATE TABLE IF NOT EXISTS `queries` (
`id` bigint(20) NOT NULL auto_increment,
`category_id` int(10) NOT NULL,
`serial` varchar(30) NOT NULL,
`minBudget` int(11) NOT NULL,
`maxBudget` int(11) NOT NULL,
`city_id` int(10) NOT NULL,
`area_id` int(10) NOT NULL,
`locality` varchar(100) NOT NULL,
`status` tinyint(1) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
Dans city_id
et les chances sont area_id
il y a des situations où je voudrais stocker plusieurs ID; par exemple, 10, 12, 20, 50 et ainsi de suite.
Comment dois-je stocker ceci dans les données?
Dois-je utiliser le type de données varchar
et le maintenir comme une chaîne avec un délimiteur défini, puis extraire la valeur dans un tableau? Ne pas utiliser un varchar si ceux-ci sont des ID à une autre table.
On l'appelle des champs à valeurs multiples dans le livre Database Design for Mere Mortal. Vous devez l'éliminer en extrayant des tables d'eux. Vous pourriez vouloir le lire si vous ne l'avez pas fait. – zawhtut