如何将数据添加到从另一个表中获取的集合列中?

时间:2018-04-12 13:59:57

标签: mysql sql phpmyadmin innodb

我实际上是在phpMyAdmin上构建一个数据库,我问自己是否有可能,我该如何实现呢?

事实是,我正在通过网站构建列表,然后将其保存在我的数据库中,但此列表仅由我已存储在另一个表的数据库中的项目组成。

我想的是一个具有SET数据类型的列,并且所有选定的项目都将是内存增益和清晰度提升,而不是通过ID创建链接到创建列表的 x 行列。

所以,我问的问题是,我可以为列创建这种集合,当我在其他表中添加项目时,它会自动更新吗?如果是,我可以通过phpMyAdmin接口进行,还是必须在MySQL服务器上工作。

2 个答案:

答案 0 :(得分:0)

最后,在我的应用程序中使用 SET 数据类型是不可能的,因为它最多只能存储64个项目,而且我将操作大约一千个。< / p>

我仍然感兴趣,如果你们中的任何人都知道怎么做,因为一张 x 次的表(ID,wordID#)(见我的情况,解释了一下)在这篇文章中更高的答案部分)似乎没有真正优化和轻量级选项。

度过愉快的一天:)

答案 1 :(得分:0)

可以在[ {'pk': 4, 'email': 'xxx@gmail.com', 'groups': [4,6]} ] (最大64K位)或SET(最大16M位)中模拟BLOB,但需要一些代码 - 找到该字节,使用MEDIUMBLOB&对其进行修改,然后重新填充。

在MySQL 8.0之前,按位操作(例如AND两个SET等)限制为64位。使用8.0,|可以通过这种方式运行。

如果您的BLOBs往往稀疏,那么位数列表(在commalist或表格中)可能更紧凑。但是,“字典”对我来说意味着你的SETs可能有些密集。

如果您正在进行其他类型的操作,请告诉我们。