このステートメントは、サーバーを「ハング」させます。
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