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

标签 mysql

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

像这样:

List of the Unit's IDs

这些 id 是在此处选择的(“Selecionar todas”的意思是“全选”):

enter image description here

问题是,当我添加一个新单元时,它未被选中,并且必须输入应该向所有单元显示的所有文档并将其更改为选中状态,这将是一件令人头痛的事情。

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

抱歉英语不好。

最佳答案

要实现全选选项,您应该使用标志列 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)

关于mysql - 在列中插入 ID,值以逗号分隔,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38355509/

相关文章:

javascript - 根据用户位置查询数据库值

php - Ipn Paypal curl_setopt

MySQL Workbench - 排序规则恢复为架构默认值

MySQL优化: index choice WHERE vs JOIN

mysql - 使用模型搜索特定字段

MySQL 8 : ER_NOT_SUPPORTED_AUTH_MODE

mysql 程序 : how can i use table name variables

java - Hibernate 独特的字段创建

php - 对非对象调用成员函数 fetch_assoc()。 mysql

mysql - 如何SELECT一段时间内每个月工作的用户?