【问题标题】:SQL: How can I add multiple items inside a column?SQL:如何在一个列中添加多个项目?
【发布时间】:2023-03-17 11:49:02
【问题描述】:

假设我有一个名为 users 的表。在用户内部有三列:用户名、密码和图像。在“图像”列中,用户应该能够将程序中的图像作为 BLOB 上传并根据需要重新访问它们。因此,每个用户的“图像”列中的一行内应该有多个图像项。该程序将在 java jdbc 中。

【问题讨论】:

    标签: mysql jdbc blob


    【解决方案1】:

    这似乎是使用不同表格的好时机。例如,添加一个新表UserImages,其列为UserImageID, Username, Image,在Username 上有一个外键,在UserImageID 上有一个主键,您可以创建图像到用户的多对一映射,这就是你正在寻找。

    相反,如果您将多个(并且长度可变的)条目放在一个条目中,那么这将违背数据库 rdbms 设计的目的。有关更多信息,请查看数据库的第一范式。 https://en.wikipedia.org/wiki/First_normal_form

    【讨论】:

    • 谢谢。我按照您所说的做了,并将新表的外键添加回初始表。你能给我链接一个关于如何让用户名从原始表中继承来组织图像的教程吗?还是我只是像在 sql 中上传任何其他数据一样?
    • 嗯,您的用户表上没有主键吗?如果您的主键是用户名,那么外键应该是您想要的用户名。我不太清楚您所说的“结转”是什么意思 - 您在新表中的条目应该类似于 row1=UserImageID=0, Username="something", Image=abc.jpg、row2=1, "something", bcd.jpg 等...
    • 是的,我在用户表中也有主键。好的,我现在明白了。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-10-05
    • 2019-11-25
    • 1970-01-01
    • 2018-10-18
    • 1970-01-01
    • 2018-11-16
    • 1970-01-01
    相关资源
    最近更新 更多