2011-09-18 89 views
0

我创建一个系统,你可以将照片上传到画廊,你可以给画廊名称和描述,并与你想要但是许多图像联系起来。我正在使用MySQL和PHP来实现这一点。我都有点进退两难,不过那就是我想允许用户,如果他们选择,删除与画廊搭讪,如果他们删除库,或将图像设置为其他默认库中的所有图像。SQL或PHP级联更新和删除

我设置数据库的方式是使用两个表格,一个是图像表格,其中包含图像名称,描述,实际图像名称(意思是.jpeg图像)和图库ID字段。图库表格包含名称,描述和它自己的ID。

我刚刚了解了一些关于级联外键触发,但我不很了解他们的工作,所以我不知道这将是一个解决方案。我的主要目标是让用户删除的画廊,并拥有所有的画廊ID的图像表的更新,矿石有所有这些图片被删除。如果没有办法用SQL来做到这一点,我怎么能用PHP来做到这一点?我试图弄清楚,并得出结论,我可能不得不使用某种循环。

任何帮助,在此将不胜感激。

+0

请问您能简化这段文字吗? – Blender

+0

我忘了分成几段很抱歉。 :)我认为我做了适当的调整。 –

+1

只是帮助你获得帮助;) – Blender

回答

1

如果一个人要求删除自己的画廊之一,它有“34”的ID,你可以只

$gId = 34; 
$query = 'DELETE FROM `images` WHERE `gallery_id` = $gId'; 
$res = mysql_query($query); 

// or assign to new gallery 
$gId = 34; 
$newGid = 5; 
$query = 'UPDATE `images` set `gallery_id` = $newGid WHERE `gallery_id` = $gId'; 
$res = mysql_query($query); 

如果您正在使用的MySQL 5.5 InnoDB表,你可以看到文档here解释如何使用约束来实现级联删除或更新。

+1

为了圣洁的一切事情的爱,**请跳出你的MYSQL **! – Blender