繁体   English   中英

phpmyadmin一列中有多个值

[英]phpmyadmin multiple values in one column

我想问你,是否有可能在phpmyadmin中创建一列,我可以在其中插入(导入)多个值。 作为示例,我创建了一个名为mytable的表,然后添加了column1(值1),现在我想添加column2(值3 5 8)。

当我尝试执行此操作时,它仅显示其中值为3的column2 ...它会忽略5和8。

可以,但是不能

从技术上讲,单个数据库字段可以通过将多个值存储在逗号分隔的字符串或JSON编码的字符串中来存储多个值。 MySql的许多较新版本还支持将复杂对象存储在Json Datatype中 ,该对象可以容纳几乎所有内容。 但是,这样做通常不是一个好主意,并且与关系数据库的意图背道而驰。

而是考虑为每个值创建一个单独的列。

最好将可选值存储在另一个表中。

与其尝试定义单个列来存储各种数据,不如创建一个新表,该表引用第一个表上的行。 下面是一个多对一数据关系的示例,它将解决您的问题。

table a
-------
id, name, column1
1,  'A',  1
2,  'B',  5

table b
------- 
id, a_id, column2
81, 1,    3
82, 1,    5
83, 1,    8
94, 2,    1
95, 2,    2
96, 2,    3
97, 2,    4
98, 2,    5

通过将这两个表连接起来,您将得到一个相似的结果集,它既灵活得多,又可排序/可搜索/可过滤。

SELECT a.id, a.name, a.column1, b.column2
FROM a
LEFT JOIN b ON a.id = b.a_id

我可以做 ”的答案是“是” 但是,“ 我应该这样做 ”的答案是尝试另辟way径 例如,如果我有一个类似的字符串:

$mystring = "1 2 3 4 5";

如果执行查询以将其插入到表列字段中,它将对其进行插入。 如果这是解决算法的唯一方法,那么我建议您插入用/-分割的数据值,以便在检索时可以explode它们并获取其值,但我不建议这样做。 相反,我建议您先尝试解决问题的另一种方法。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM