Php 是否可以在mysql数据的末尾添加值?

Php 是否可以在mysql数据的末尾添加值?,php,mysql,sql,forms,Php,Mysql,Sql,Forms,所以,我有一个表,在这里我存储一些以“,”分隔的数字。对我来说,像这样存储它们是可以的,因为当我回显它们时,我需要它们按照这样的顺序 有没有办法在现有数字的末尾添加一些数字 这是表格: id | mat_id | note | ----------------------------------- 1 | 1 | 1,2,3,4 | 我希望通过一个表单,能够在末尾添加一个数字,如下所示: id | mat_id | no

所以,我有一个表,在这里我存储一些以“,”分隔的数字。对我来说,像这样存储它们是可以的,因为当我回显它们时,我需要它们按照这样的顺序

有没有办法在现有数字的末尾添加一些数字

这是表格:

id | mat_id     | note            |
-----------------------------------
1  | 1          | 1,2,3,4         |
我希望通过一个表单,能够在末尾添加一个数字,如下所示:

id | mat_id     | note            |
-----------------------------------
1  | 1          | 1,2,3,4,5       | 

我在谷歌上没有找到任何关于这类事情的信息……这将非常有用。非常感谢

在列中存储逗号分隔的值通常不是一个好主意。但如果确实无法更改数据库结构,则可以使用:

UPDATE table SET note= CONCAT(note, ',5') WHERE id = 1
如果已经有一些数据,这将自动在注释后插入逗号,否则只会添加字符串“5”:

SELECT CONCAT_WS(',', '1,2,3,4', '5');
1,2,3,4,5

SELECT CONCAT_WS(',', NULL, '5');
5
当然,您需要确保没有使用空字符串,否则将失败:

SELECT CONCAT_WS(',', '', '5');
,5
否则会使查询稍微复杂一些:

UPDATE tableName
SET note = CONCAT_WS(',', CASE WHEN note<>'' THEN note END, '5')
更新表名
设置note=CONCAT_WS(“,”,在注释“”时使用大小写,然后在注释结束时使用“5”)

db正常化,不要这样存储数据。你说这对你来说“没问题”,所以我想你知道你不应该这么做,然后你面临的问题就是你不应该这么做的原因。我同意达贡的观点——相信我/我们;现在解决问题,否则生活将比以后更痛苦。OK如果数据是OK的,请给我写一个查询,可以计算id=1的便笺数,您有5分钟的时间来写该查询。。。(实时问题/示例总是最有效)如果您需要,时间到了。很抱歉,internet连接失败。好的,我理解问题所在。接着又出现了另一个问题。我有一个代码,现在已经工作。它会回显表中的值。如果我用不同的id存储“note”,在跳转到下一个“mat_id”之前,是否有办法回显它们(用逗号分隔)?我应该发布另一个问题吗?谢谢大家!!这很容易出错。原始代码将结果保留为
1,2,3,45
。一点也不好-需要进行额外的检查/修补,使其与现有值保持一致。(因此,虽然它在这里会“起作用”,但它非常敏感,仍然不能代表“布局良好”的信息。)更好一点,并很好地提到了警告。但仍然不是我所说的理想。这个空字符串gotcha真的不好——我想,如果解决了它,将使查询变得更加复杂。我觉得有些问题不应该在最初的方法“错误”时得到回答;但那只是me@Dagon是的,这种方法是不正确的。。。我认为最好在答案中明确说明,我已经更新了,谢谢大家!我决定不使用这个。但我遇到了另一个问题(我在问题的评论中解释了这一点)
UPDATE tableName
SET note = CONCAT_WS(',', CASE WHEN note<>'' THEN note END, '5')