2010-11-13 95 views
0

我使用foreach代码。如果我把插入查询到foreach我有多个具有相同标题的行。将数据写入一行

字段1 |场2

标题|内容

标题|内容2

如何写在一行,内容的标题用逗号进行分割? 编辑

`foreach(...) { 
//INSERT INTO rss(title,content) VALUES ('$title','$content') 
}` 

标题相同,但内容不同,所以如何构建查询,插入的行是一个和上述内容 - 分裂用逗号。

回答

1

如果你的意思是在一个查询中插入多行,你必须做一些事情liket他:

INSERT INTO yourtable (col1, col2) VALUES (1, 2), (3, 4), (5, 6) -- etc 

如果你想知道如何生成此查询,那么你必须给我们更多的信息(哪种语言?到目前为止您尝试了什么?)。

如果您的意思是在一列中插入多个值,那么当您打破第一个标准形式时,这不是一个好主意。编辑完成后,似乎这就是你要做的。这根本不是一个好主意。

你必须创建一个额外的表,例如:

对象(id_object,标题)
内容(id_content,id_object,内容)

凡content.id_object引用object.id_object,效果显着。在这种情况下,您只需在对象表中为每个对象添加一行。然后,每当您想要添加额外的内容时,都会在内容表中添加一行。

编辑: 我再说一遍:这是违反第一范式。在列中添加多个值是非演变性的,难以管理且效率较低。

+0

的foreach(...){// INSERT INTO RSS('title','content')VALUES( '$标题', '$内容') } 标题相同,但内容是不同的,所以如何构建查询,即插入的行是一个和内容 - 用逗号分隔。 – lam3r4370 2010-11-13 17:38:35

+0

@ lam3r4370:请**通过编辑更新您的原始问题,并在那里提供该信息,正确格式化和全部。在这里的评论中,这只是一个混乱的事情...... – 2010-11-13 17:41:30

+0

你将不得不首先生成内容(在一个循环中),然后做一个INSERT查询(不在循环中)。但正如我所说,这通常意味着你打破了1NF。 – 2010-11-13 17:42:28