删除语句挂起

时间:2012-09-05 07:44:22

标签: mysql sql-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

1 个答案:

答案 0 :(得分:0)

抱歉! *脸红* DELETE CASCADE位于 -table(不是父级)中。 很高兴知道。谢谢你的时间和精力!