【问题标题】:MySQL add data to row after existing dataMySQL 在现有数据之后将数据添加到行
【发布时间】:2016-01-01 08:17:08
【问题描述】:

我正在尝试在当前数据之后添加新数据。这很好用,

mysql_query("UPDATE uyeler SET shoots=shoots + 1 WHERE nick='admin'")

但是,它仅适用于数字。我用正常的文本值试过了

$places = "london";
mysql_query("UPDATE uyeler SET shootplaces= shootplaces + '".$places."' WHERE nick='admin'")

但它所做的只是将拍摄地点设为 0。在不删除当前值的情况下向一行添加新值的正确方法是什么?

【问题讨论】:

  • 威胁您需要添加两个文本?还是只是连接两个字符串?
  • 我需要在当前行数据之后将新数据添加到拍摄地点行(不删除它)。
  • shootplaces 包含什么?
  • shootplaces 是整数吗?
  • 使用CONCAT()函数

标签: php mysql


【解决方案1】:

你必须使用Mysql CONCAT函数。

$places = "london";
mysql_query("UPDATE uyeler SET shootplaces= CONCAT(shootplaces , '".$places."') WHERE nick='admin'")

【讨论】:

    【解决方案2】:

    您的拍摄地点是否使用 INT 作为数据类型? 无论如何,您可以使用concat() 函数将新数据添加到新单元格中。

    UPDATE your_table 
    SET your_column = CONCAT(your_column, 'your new value') WHERE id=..
    

    See this link for further help

    【讨论】:

    • 您是否将多个值添加到单个列?这违反了第一范式。或者你只是添加到一个字符串。对我来说,您似乎要将多个位置存储在一列中。
    【解决方案3】:

    试试这个。

    $places = "london";
         mysql_query("UPDATE uyeler SET shootplaces= concate(shootplaces , '$places') WHERE nick='admin'")
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-01-15
      • 1970-01-01
      • 2020-01-07
      • 1970-01-01
      • 2012-07-08
      • 2011-05-31
      相关资源
      最近更新 更多