MySQL - 建议将数据附加到现有字段/记录?

Posted

技术标签:

【中文标题】MySQL - 建议将数据附加到现有字段/记录?【英文标题】:MySQL - suggestions to append data to an existing field/record? 【发布时间】:2011-08-20 23:54:28 【问题描述】:

我首先将数据添加到表events,字段exceptions 像这样

function events_exceptions($rec_id, $evt_id)

//$evt_id = 1;

$this->db->where('record_id', $rec_id);
$this->db->update('events', array('exceptions' => $evt_id));

这会给我

exceptions
1

如果我用$evt_id = 2 再次运行它,我会得到

exceptions
2

等等。

我想实际将新数据附加到该字段而不是更新,所以我会(注意逗号)

exceptions
1,2,3  //etc

我认为这可以通过调用 DB、读取行/字段的内容并通过 php 连接来完成 - 然后更新记录。但我想避免这样的开销。

有没有办法通过 mysql CONCAT 做到这一点?

感谢您的帮助。

【问题讨论】:

【参考方案1】:
$query = "UPDATE table1 SET field1 = CONCAT(ifnull(field1,''),'$extra') WHERE id = '$id'";

【讨论】:

谢谢 - 看起来它有效,但前提是该字段中已有数据 - 如果一开始是空的,则语句什么也不做 - 我们如何解决这个问题? 实际上,我现在切换到CONCAT_WS(',',FIELD1,'$extra'),现在它可以工作了 - 谢谢! 感谢这段代码。似乎正是我想要的。

以上是关于MySQL - 建议将数据附加到现有字段/记录?的主要内容,如果未能解决你的问题,请参考以下文章

使用 ajax 将数据附加到现有数据表中的正确方法

将文本附加到包含文本的现有字段

将数据字段附加到保存到表中的记录

将 Alpacajs 表单附加到现有表单

将日期/时间戳附加到现有文件

从文本字段输入在现有表中创建新行。 SwiftUI(故事板)