【问题标题】:Add data to existing data in MySQL Database将数据添加到 MySQL 数据库中的现有数据
【发布时间】:2011-08-23 14:19:18
【问题描述】:

我有一张名为tblActivities 的表。有两个字段IDAttendees

ID       Attendees
1        Jon Jhonson
2        Ive Iveson

我需要使用哪个 PHP 函数或 MySQL 语句来得到这个结果:

ID       Attendees
1        Jon Jhonson, Ive Iveson, Adam Adamer
2        Ive Iveson

换句话说,我如何向数据库中的现有数据添加新数据?

【问题讨论】:

  • 您可能需要提供链接表信息,您应该有另一个表显示参加了哪些活动

标签: php mysql


【解决方案1】:

你需要这样的东西:

UPDATE tblActivities
SET Attendees = CONCAT(Attendees, "Ive Iveson, Adam Adamer")
WHERE id = 1;

但也许您应该更改数据库布局。最好在一个字段中只有一个值。您可以在http://en.wikipedia.org/wiki/Database_normalization 下找到更多信息。

【讨论】:

    【解决方案2】:

    使用mysql的update语句。如果你想通过php执行,那么

    首先使用select语句获取现有值,

    SELECT Attendees from <table-name> WHERE ID = 1
    

    您将获得参加者的现有值,将其放入 php 变量中,现在连接您的值.. 然后更新,

    UPDATE <table_name>
    SET Attendees=<new-value>
    WHERE ID=1
    

    您必须使用 php 的 mysql 函数来运行上述查询

    【讨论】:

      【解决方案3】:

      我认为你最好重组。做一张桌子:

      ID (primary key)
      ACTIVITY_ID (foreign key to activity table)
      ATTENDEE (foreign key to USERS table)
      

      然后从该事件中选择所有内容并在 PHP 中连接。

      $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 );
      

      【讨论】:

        猜你喜欢
        • 2017-01-15
        • 2017-07-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-07-14
        • 1970-01-01
        • 2013-03-10
        相关资源
        最近更新 更多