Skip to main content
Inspiring
September 29, 2008
Question

Delete Multiple records

  • September 29, 2008
  • 2 replies
  • 372 views
Hey there,

This is the stock code from DMX being a delete record from one table

if ((isset($_GET['recordID'])) && ($_GET['recordID'] != "")) {
$deleteSQL = sprintf("DELETE FROM sitedata WHERE siteid=%s",
GetSQLValueString($_GET['recordID'], "int"));

mysql_select_db($database_bcmain, $bcmain);
$Result1 = mysql_query($deleteSQL, $bcmain) or die(mysql_error());

$deleteGoTo = "index.php";
if (isset($_SERVER['QUERY_STRING'])) {
$deleteGoTo .= (strpos($deleteGoTo, '?')) ? "&" : "?";
$deleteGoTo .= $_SERVER['QUERY_STRING'];
}
header(sprintf("Location: %s", $deleteGoTo));
}

but how can i make that delete from 3 tables simultaneously?

the other tables being

$deleteSQL = sprintf("DELETE FROM sitedata WHERE siteid=%s",
GetSQLValueString($_GET['recordID'], "int"));

AND
$deleteSQL = sprintf("DELETE FROM sitecomment WHERE siteid=%s",
GetSQLValueString($_GET['recordID'], "int"));

AND
$deleteSQL = sprintf("DELETE FROM sitetag WHERE siteid=%s",
GetSQLValueString($_GET['recordID'], "int"));

I hope that makes sense

Thanks
This topic has been closed for replies.

2 replies

Inspiring
September 29, 2008
thanks but how do i do that - each table has the same id field in it however so the record selection is ok it is just the actual delete command itself
Inspiring
September 29, 2008
Use referential integrity in your database. That way, you only need issue
one delete command and all 3 related tables will be effected. As far as I
know, MySQL does support RI or perhaps someone can tell me different as I
come from the SQL Server camp.

"Prellyan Luxtintner" <webforumsuser@macromedia.com> wrote in message
news:gbqkb6$8cs$1@forums.macromedia.com...
> Hey there,
>
> This is the stock code from DMX being a delete record from one table
>
> if ((isset($_GET['recordID'])) && ($_GET['recordID'] != "")) {
> $deleteSQL = sprintf("DELETE FROM sitedata WHERE siteid=%s",
> GetSQLValueString($_GET['recordID'], "int"));
>
> mysql_select_db($database_bcmain, $bcmain);
> $Result1 = mysql_query($deleteSQL, $bcmain) or die(mysql_error());
>
> $deleteGoTo = "index.php";
> if (isset($_SERVER['QUERY_STRING'])) {
> $deleteGoTo .= (strpos($deleteGoTo, '?')) ? "&" : "?";
> $deleteGoTo .= $_SERVER['QUERY_STRING'];
> }
> header(sprintf("Location: %s", $deleteGoTo));
> }
>
> but how can i make that delete from 3 tables simultaneously?
>
> the other tables being
>
> $deleteSQL = sprintf("DELETE FROM sitedata WHERE siteid=%s",
> GetSQLValueString($_GET['recordID'], "int"));
>
> AND
> $deleteSQL = sprintf("DELETE FROM sitecomment WHERE siteid=%s",
> GetSQLValueString($_GET['recordID'], "int"));
>
> AND
> $deleteSQL = sprintf("DELETE FROM sitetag WHERE siteid=%s",
> GetSQLValueString($_GET['recordID'], "int"));
>
> I hope that makes sense
>
> Thanks
>