2012-09-05 125 views
3

這種說法 「掛起」 服務器:DELETE語句掛起

DELETE FROM StockPositions WHERE machineName LIKE 'P%';

DELETE FROM StockPositions WHERE machineName LIKE 'P%' LIMIT 1;

編輯:這實際上做的工作!我將繼續測試它何時失敗。無論如何,我傾向於某種鎖定問題...

相應的SELECT - 狀態按預期工作(返回500行)。

此語句正常工作:

DELETE FROM StockPositions WHERE ID = 5226;

  • 沒有外鍵級聯表中刪除。編輯:錯了!請參閱下面的答案。
  • 沒有觸發器。
  • 沒有鎖(顯露)。
  • 沒有想法。

任何想法要尋找什麼? (不!恐慌 - 我可以通過變通辦法解決這一點,但我真的想知道這是怎麼回事)

編輯:

CREATE TABLE `StockPositions` (
    `ID` int(10) unsigned NOT NULL AUTO_INCREMENT, 
    `isEnabled` tinyint(1) DEFAULT NULL, 
    `readableName` varchar(32) NOT NULL, 
    `machineName` varchar(32) NOT NULL, 
    `longName` varchar(64) DEFAULT NULL, 
    `accessibilityLevel` int(10) unsigned NOT NULL, 
    `storey` char(1) DEFAULT NULL, 
    `lengthX` decimal(10,3) unsigned DEFAULT NULL, 
    `lengthY` decimal(10,3) unsigned DEFAULT NULL, 
    `lengthZ` decimal(10,3) unsigned DEFAULT NULL, 
    `positionType` varchar(50) DEFAULT NULL, 
    `type` int(11) DEFAULT NULL, 
    `frequency` int(11) DEFAULT NULL, 
    `module` varchar(10) DEFAULT NULL, 
    `prioritized` tinyint(4) DEFAULT NULL, 
    `aisleID` int(10) DEFAULT NULL, 
    PRIMARY KEY (`ID`), 
    UNIQUE KEY `readableName` (`readableName`), 
    UNIQUE KEY `machineName` (`machineName`) 
) ENGINE=InnoDB AUTO_INCREMENT=11820 DEFAULT CHARSET=utf8 
+0

你的桌子有多少條記錄?你的mysql服務器有多忙?它掛了多久? 'StockPositions'的結構是什麼? ('SHOW CREATE TABLE StockPositions'的結果) – Jocelyn

+0

正如@Jocelyn指出的那樣,發佈架構。 – tuxuday

+0

行數:8350 忙碌:完全沒有 - 我在我自己的開發數據庫上做過這件事(在現場服務器產生相同錯誤後,我自己做了測試) 多久:比我的耐心還要多。 5分鐘後我中止了。 –

回答

0

對不起! *臉紅* DELETE CASCADE在子女 -table(不是父級)中找到。 很高興知道。感謝您的時間和精力!

+0

我知道這是不好的 - 將我自己的答案標記爲正確的 - 但它是... –