将数据添加到MySQL数据库中的现有数据
问题描述:
我有一个名为tblActivities
的表。有两个字段ID
和Attendees
。将数据添加到MySQL数据库中的现有数据
ID Attendees
1 Jon Jhonson
2 Ive Iveson
哪个PHP函数或MySQL声明,我需要用得到这个结果:
ID Attendees
1 Jon Jhonson, Ive Iveson, Adam Adamer
2 Ive Iveson
换句话说,我怎么能在我的数据库中的新数据添加到现有的数据?
答
你需要的东西,如:
UPDATE tblActivities
SET Attendees = CONCAT(Attendees, "Ive Iveson, Adam Adamer")
WHERE id = 1;
但是,也许你应该改变数据库布局。一个字段中最好只有一个值。您可以在http://en.wikipedia.org/wiki/Database_normalization下找到更多信息。
答
使用mysql的更新语句。如果你想通过PHP来exeute然后
先用select语句获取现有值,
SELECT Attendees from <table-name> WHERE ID = 1
,你会得到与会者的现有价值,把它放在一个PHP变量,现在串联你的价值.. 和然后更新,
UPDATE <table_name>
SET Attendees=<new-value>
WHERE ID=1
你将不得不使用PHP的MySQL的功能,运行上面的查询
答
我觉得你的照关闭重组。制作表格:
ID (primary key)
ACTIVITY_ID (foreign key to activity table)
ATTENDEE (foreign key to USERS table)
然后选择该事件和PHP中的concat。
$q = mysql_query('SELECT ATTENDEE FROM tblActivities '.
'WHERE ACTIVITY_ID = $activity_id');
$attendees = array();
while($row = mysql_fetch_assoc($q))
{
$attendees[] = $row['attendee'];
}
$attendees =implode(' ', $attendees);
检查concat选项 – krifur
您可能需要提供链接表信息,您应该有另一个表显示哪些活动参与 – ChrisK