作者chrismaggie (中仔)
看板Database
標題[SQL ] 請問這個mysql語法哪邊出了錯誤呢
時間Wed Aug 27 11:11:01 2008
小弟目前有兩個資料表,一個是廠商資料表,另外一個是銷售資料表
而當管理者在刪除廠商資訊時,必須同時刪除銷售資料表包含該廠商紀錄
才不會有不一致的情形,因此我的語法如下
if ((isset($_POST['CId'])) && ($_POST['CId'] != "")) {
$deleteSQL = sprintf("DELETE FROM company WHERE CId in(%s)",
implode(",",$_POST['CId']));
//刪除廠商記錄後同步刪除sale資料記錄
$delete = sprintf("DELETE FROM sales WHERE c_name in(SELECT C_name FROM
company WHERE CId in(%s))",
implode(",",$_POST['CId']));
mysql_select_db($database_mio, $mio);
$Result1 = mysql_query($deleteSQL, $mio) or die(mysql_error());
$Result2 = mysql_query($delete, $mio) or die(mysql_error());
$deleteGoTo = "company.php";
if (isset($_SERVER['QUERY_STRING'])) {
$deleteGoTo .= (strpos($deleteGoTo, '?')) ? "&" : "?";
$deleteGoTo .= $_SERVER['QUERY_STRING'];
}
header(sprintf("Location: %s", $deleteGoTo));
}
我利用CId核取方塊給管理者勾選想要刪除的廠商,這個核取方塊帶的是
廠商資料表的CId欄位,而同時要刪除銷售資料表的是$delete這個語法
網頁執行後.廠商資料表的記錄可以刪除,$delete時就會出現錯誤,
導致銷售資料中的記錄並無刪除?不知道哪邊語法出問題
能否請大大幫忙,謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.132.218.94
推 slalala:改用Innodb吧~ 08/27 11:28
推 linccg:先$delete再$deleteSQL 08/27 15:23