是否可以存储多个值并查询数据库并将每个值分配为单独的实体?
例如,我有一个包含wallpaper
列的数据库,我可以将其存储到其中。
wall_1.png,wall_2.png,wall_3.png
然后查询数据库并提取3个包含壁纸名称的变量。
所以我要从数据库中提取$defaultWall = "wall_1.png"
$wall2 = "wall_2.png"
$wall3 = "wall_3.png"
< -
我也有一个名为settings的表,用户可以在这里设置所有设置。一栏是他们的个人资料的壁纸偏好。如果他们选择稍后更改,我希望他们手头有一系列上传的壁纸。因此,通过这样做,我想将一系列壁纸网址存储到数据库中,并使用一个小图像预览库拉动每个壁纸,以便从数据库中进行处理和调整大小。
答案 0 :(得分:4)
是的,你可以。但是表字段中的多个值不满足规范化表单。
尝试为此行创建一个带壁纸的表格。
答案 1 :(得分:0)
从DDL逻辑来看,正确的方法是为壁纸图像定义另一个表格,该表格具有外键,可以将它们链接到该表格中具有“壁纸”列的行。
如果您没有找到任何理由,并且您只使用PHP,请使用serialize
和unserialize
php函数从字段中访问该数据。您可以存储任何数据结构。
答案 2 :(得分:-2)
看看PHP中的expand()函数!
http://www.php.net/manual/en/function.explode.php
注意强> 我不认为这是处理这些值的最佳方法,如果你想能够将任意数量的壁纸(或没有)链接到我选择使用另一个表的对象。
create table tblMain (ItemId, Name, etc)
create table tblWallpapers (WallpaperId, WallpaperName)
create table tblMainUsesWallpapers (Wallpaperid, ItemId)
然后只需选择如下的值:
select * from tblWallpapers w
inner join tblMainUsesWallpapers muw
on w.WallpaperId = muw.WallpaperId
inner join tblMain m
on muw.ItemId = m.ItemId
where m.ItemId = x