簡體   English   中英

mySql Delete 只刪除數據而不是整個條目

[英]mySql Delete only removes the data not the entire entry

大家好,我的 php 代碼中有這一行

 `$insert = "DELETE FROM allocation_table WHERE job = '$jobnumber' " ;
  Mysql_query ($insert) ;`

問題是它會從我的表中的一行中刪除所有值,但不會刪除條目本身。 正如您在圖片中看到的,如果我刪除 where job = 315 ,它不會刪除該行但會刪除所有條目

然而,在它之前的這段代碼中(不同的表)。 它工作正常,整條線被刪除

$insert = "DELETE FROM event WHERE jobnumber = '$jobnumber' " ; 
mysql_query ($insert) ;enter code here

任何人都可以提供一些建議嗎?? 替代文字 http://img34.imageshack.us/img34/4431/tablenj.jpg

您的代碼中有任何錯誤處理例程嗎?
您可能還想添加一些調試輸出(或者甚至更好地使用像xdebug這樣的調試器)
(過度簡化)示例:

$insert = "DELETE FROM allocation_table WHERE job = '$jobnumber' " ;
echo '<pre>Debug: query=', htmlspecialchars($insert), '</pre>';
$rc = mysql_query($insert);
if ( !$rc ) {
  echo '<pre>mysql_query failed: ', mysql_error(), '</pre>';
}
else {
  echo '<pre>Debug: affected rows=', mysql_affected_rows(), '</pre>';
}

$insert = "DELETE FROM event WHERE jobnumber = '$jobnumber' " ; 
echo '<pre>Debug: query=', htmlspecialchars($insert), '</pre>';
$rc = mysql_query($insert);
if ( !$rc ) {
  echo '<pre>mysql_query failed: ', mysql_error(), '</pre>';
}
else {
  echo '<pre>Debug: affected rows=', mysql_affected_rows(), '</pre>';
}

也許您的 MySQL 表上有一些奇怪的設置,導致查詢的功能不同。 您是自己創建表(使用 PMA?)還是從其他地方導入?

當您使用 PHPMyAdmin 刪除時,它運行的查詢是什么?

嘗試在 PhpMyAdmin 中刪除,看看會發生什么。 至少在那里您可以輕松看到任何錯誤消息。

您是否定義了外鍵和/或表約束?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM