我有一張表,它不會刪除一行。特別是,當我嘗試刪除任何超過150000000的GEO_SHAPE_ID的行時,它並不會從數據庫中消失。無法從MySQL中刪除行
我曾嘗試:
- SQLyog的將其刪除。
- 從表中刪除 GEO_SHAPE_ID = 150000042(0行 影響)。
- UNLOCK TABLES 2.然後
據我所知,BIGINT是AUTO_INCREMENT有效候選人。任何人都知道會發生什麼事? 每當我執行上述任何操作並刷新表格列表時,該行就會重新出現。 你必須幫助我們,Doc。我們已經試過了,我們都沒有想法!
DJS。
編輯:按照瓦薩洛丹尼爾的建議:
mysql> SELECT * FROM `GEO_SHAPE` WHERE GEO_SHAPE_ID = 150000042;
Empty set (0.01 sec)
答:在發現「檢查」和「修復」命令,在MySQL後,我發現腐敗的鑰匙,因此固定的,它的工作。
PS。這裏是表格結構和一些示例數據只是爲了咯咯地笑。
CREATE TABLE `GEO_SHAPE` (
`GEO_SHAPE_ID` bigint(11) NOT NULL auto_increment,
`RADIUS` float default '0',
`LATITUDE` float default '0',
`LONGITUDE` float default '0',
`SHAPE_TYPE` enum('Custom','Region') default NULL,
`PARENT_ID` int(11) default NULL,
`SHAPE_POLYGON` polygon default NULL,
`SHAPE_TITLE` varchar(45) default NULL,
`SHAPE_ABBREVIATION` varchar(45) default NULL,
PRIMARY KEY (`GEO_SHAPE_ID`)
) ENGINE=MyISAM AUTO_INCREMENT=150000056 DEFAULT CHARSET=latin1 CHECKSUM=1 DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC;
SET FOREIGN_KEY_CHECKS = 0;
LOCK TABLES `GEO_SHAPE` WRITE;
INSERT INTO `GEO_SHAPE` (`GEO_SHAPE_ID`, `RADIUS`, `LATITUDE`, `LONGITUDE`, `SHAPE_TYPE`, `PARENT_ID`, `SHAPE_POLYGON`, `SHAPE_TITLE`, `SHAPE_ABBREVIATION`) VALUES (57, NULL, NULL, NULL, 'Region', 10, NULL, 'Washington', 'WA');
INSERT INTO `GEO_SHAPE` (`GEO_SHAPE_ID`, `RADIUS`, `LATITUDE`, `LONGITUDE`, `SHAPE_TYPE`, `PARENT_ID`, `SHAPE_POLYGON`, `SHAPE_TITLE`, `SHAPE_ABBREVIATION`) VALUES (58, NULL, NULL, NULL, 'Region', 10, NULL, 'West Virginia', 'WV');
INSERT INTO `GEO_SHAPE` (`GEO_SHAPE_ID`, `RADIUS`, `LATITUDE`, `LONGITUDE`, `SHAPE_TYPE`, `PARENT_ID`, `SHAPE_POLYGON`, `SHAPE_TITLE`, `SHAPE_ABBREVIATION`) VALUES (59, NULL, NULL, NULL, 'Region', 10, NULL, 'Wisconsin', 'WI');
INSERT INTO `GEO_SHAPE` (`GEO_SHAPE_ID`, `RADIUS`, `LATITUDE`, `LONGITUDE`, `SHAPE_TYPE`, `PARENT_ID`, `SHAPE_POLYGON`, `SHAPE_TITLE`, `SHAPE_ABBREVIATION`) VALUES (150000042, 10, -33.8833, 151.217, 'Custom', NULL, NULL, 'Sydney%2C%20New%20South%20Wales%20%2810km%20r', NULL);
INSERT INTO `GEO_SHAPE` (`GEO_SHAPE_ID`, `RADIUS`, `LATITUDE`, `LONGITUDE`, `SHAPE_TYPE`, `PARENT_ID`, `SHAPE_POLYGON`, `SHAPE_TITLE`, `SHAPE_ABBREVIATION`) VALUES (150000043, 10, -33.8833, 151.167, 'Custom', NULL, NULL, 'Annandale%2C%20New%20South%20Wales%20%2810km%', NULL);
INSERT INTO `GEO_SHAPE` (`GEO_SHAPE_ID`, `RADIUS`, `LATITUDE`, `LONGITUDE`, `SHAPE_TYPE`, `PARENT_ID`, `SHAPE_POLYGON`, `SHAPE_TITLE`, `SHAPE_ABBREVIATION`) VALUES (150000048, 10, -27.5, 153.017, 'Custom', NULL, NULL, 'Brisbane%2C%20Queensland%20%2810km%20radius%2', NULL);
INSERT INTO `GEO_SHAPE` (`GEO_SHAPE_ID`, `RADIUS`, `LATITUDE`, `LONGITUDE`, `SHAPE_TYPE`, `PARENT_ID`, `SHAPE_POLYGON`, `SHAPE_TITLE`, `SHAPE_ABBREVIATION`) VALUES (150000045, 10, 43.1002, -75.2956, 'Custom', NULL, NULL, 'New%20York%20Mills%2C%20New%20York%20%2810km%', NULL);
INSERT INTO `GEO_SHAPE` (`GEO_SHAPE_ID`, `RADIUS`, `LATITUDE`, `LONGITUDE`, `SHAPE_TYPE`, `PARENT_ID`, `SHAPE_POLYGON`, `SHAPE_TITLE`, `SHAPE_ABBREVIATION`) VALUES (150000046, 10, 40.1117, -78.9258, 'Custom', NULL, NULL, 'Region1', NULL);
UNLOCK TABLES;
SET FOREIGN_KEY_CHECKS = 1;
http://jcooney.net/archive/2007/02/01/42999.aspx – 2010-03-17 00:13:19
@Wilhelm:呵呵,真的......我的目的是要表明看起來問題在別的地方,因爲這是預計將按預期工作。 – 2010-03-17 00:15:39
啊哈!一個線索... mysql> SELECT * FROM'GEO_SHAPE' WHERE GEO_SHAPE_ID = 150000042; 空集(0.01秒) – Drew 2010-03-17 00:27:41