2011-01-07 71 views
0

我正在建设一个房地产应用程序,它将存储这些属性并进行搜索。该物业将有不同的类别,如(住宅,商业,工业或农业)。根据我想要对每一个房产列表进行分类。例如,ID为1的属性属于resedential将具有串行码rs_SOMERANDOMUNIQUENUMBER。而对于商业来说,它可以是cm_SOMERANDOMUNIQUENUMBER等等。为此我的数据库表看起来像这样。我如何使用php serlialize产品?

CREATE TABLE IF NOT EXISTS `propSerials` (
`id` bigint(20) NOT NULL auto_increment, 
`serial` varchar(50) NOT NULL, 
`property_id` int(10) UNIQUE NOT NULL, 
PRIMARY KEY  (`id`) 
) ENGINE=InnoDB DEFAULT CHARSET=utf8; 

什么是最好的格式来存储序列与前缀根据类别?

谢谢

+0

我刚刚完成一个属性的应用程序,但你为什么存储数据serailized?它的小巧无用,尤其是当它存储在其他地方时,无法有效地搜索存储在其中的数据。 – 2011-01-07 08:51:32

+0

我认为'序列化'他的意思是'分配序列号'不'存储在序列化的形式' – Mchl 2011-01-07 08:58:19

回答

0

你为什么不增加持有CATEGORY_ID另一列和类别表前缀该类别添加列。

CREATE TABLE IF NOT EXISTS `propSerials` (
`id` bigint(20) NOT NULL auto_increment, 
`serial` varchar(50) NOT NULL, 
`property_id` int(10) UNIQUE NOT NULL, 
`category_id` int(10) NOT NULL, 
PRIMARY KEY (`id`) 
) ENGINE=InnoDB DEFAULT CHARSET=utf8; 

CREATE TABLE IF NOT EXISTS `propCategories` (
`id` bigint(20) NOT NULL auto_increment, 
`category` varchar(50) NOT NULL, 
`property_prefix` char(3) NOT NULL, 
PRIMARY KEY (`id`) 
) ENGINE=InnoDB DEFAULT CHARSET=utf8; 

在查询中,您可以:

SELECT CONCAT('prefix_', 'serial'); 
相关问题