在表中插入一个空行以生成外键或更好的方法?

时间:2013-01-08 21:51:59

标签: php mysql

尝试存储搜索条款。我创建了一个表“搜索”,它将每个搜索项存储在它自己的字段(卧室,浴室等)中。因此每行将包含一个搜索。

在高级搜索表单上,用户可以使用选项选择为单个字段选择多个搜索字词。我认为将这些术语中的每一个存储在相关表的唯一行中以便于统计报告是明智的。我这样想,我可以快速报告搜索一个术语的次数。我还需要能够保存和重新生成搜索查询。

但是,如果搜索的所有术语都不在主表中,我仍然需要生成唯一的ID以将其链接到相关表。所以我需要插入一个空行来生成我不愿意做的外键。

有更好的方法吗?我可以将多个搜索词问题存储在主表中以逗号分隔,但似乎更难以将它们拉回来并计算统计数据等。

2 个答案:

答案 0 :(得分:1)

为什么需要插入空白行?在保留所有记录之前,您不需要保留任何记录,对吧?

据我了解,你的表格布局如下:

Table1
--------
ID
etc.

Table2
--------
ID
Table1ID
etc.

如果是这种情况,那么插入数据的操作顺序如下所示:

假设我正确理解了您的用户体验,当用户提交表单时就会发生这种情况。

答案 1 :(得分:0)

如果我了解你,

好像你应该有两张桌子:

search_term
-----------------
term_id
term

search
-----------------
search_id
term_id

然后您可以查询所有术语的搜索并发出SELECT语句。