2012-09-05 74 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

我知道这是不好的 - 将我自己的答案标记为正确的 - 但它是... –