在列中插入ID,其值以逗号分隔

时间:2016-07-13 15:09:28

标签: mysql

我有一个列,列出了允许查看特定文档的公司的所有单元ID。

像这样:

List of the Unit's IDs

这些ids在这里被选中('Selecionar todas'意为'全选'):

enter image description here

问题是,当我添加一个新单元时,它会被取消选择,并且必须输入应该显示给所有单元的所有文档并将其更改为选中它将是一件令人头疼的事。

有没有办法将新单位的ID插入“idsunidades”列,其中选择了所有其他单位?

抱歉英语不好。

1 个答案:

答案 0 :(得分:0)

要实现全选选项,您应该使用标志列all_selected(true或false),或者您可以这样做:

要选择所有单位被选中的行应该具有最长的idsunidades值,您可以像这样选择它们

SELECT @maxLength:=LENGTH(idsunidades) 
ORDER BY LENGTH(idsunidades ) 
DESC LIMIT 1

您可以使用CONCAT()将新ID附加到旧列数据

要将单位99添加到列idsunidades到所有单位的所有单位,您可以执行此操作

UPDATE table set idsunidades=CONCAT(idsunidades, ',99')
WHERE LENGTH(idsunidades) = (SELECT LENGTH(idsunidades) 
                             ORDER BY LENGTH(idsunidades ) 
                             DESC LIMIT 1)