我已经创建了数据库表。但是有一个奇怪的事情我可以在表中插入行,但是当我想删除或更新数据库行时会抛出错误:
/ * SQL错误(1205):锁定等待超时 超标;尝试重新启动事务 * /
在其他表格中没有错误,一切正常。
这是一个表结构:
CREATE TABLE `cruises` (
`id` BIGINT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
`enable_text` ENUM('true','false') NOT NULL,
`enable_file` ENUM('true','false') NOT NULL,
`title` VARCHAR(256) NOT NULL,
`full_text` MEDIUMTEXT NOT NULL,
`description` VARCHAR(256) NULL,
`date_of_departure` DATE NOT NULL,
`number_of_nights` INT(10) UNSIGNED NOT NULL,
`point_of_departure` VARCHAR(256) NOT NULL,
`cruise_type` BIGINT(10) UNSIGNED NOT NULL,
`cruises_document_id` BIGINT(10) UNSIGNED NOT NULL,
`price` FLOAT(5,0) UNSIGNED NOT NULL,
PRIMARY KEY (`id`),
INDEX `FK_cruises_cruises_types` (`cruise_type`),
INDEX `FK_cruises_cruises_documents` (`cruises_document_id`),
CONSTRAINT `FK_cruises_cruises_documents` FOREIGN KEY (`cruises_document_id`) REFERENCES `cruises_documents` (`id`),
CONSTRAINT `FK_cruises_cruises_types` FOREIGN KEY (`cruise_type`) REFERENCES `cruises_types` (`id`)
)
ENGINE=InnoDB
ROW_FORMAT=DEFAULT
我在2个不同的数据库上试过这个东西,但是同样的问题一直出现。有什么想法吗?
答案 0 :(得分:6)
这是锁争用的问题,最终导致其中一个锁超时。以下是一些建议:
同时检查您是否获得了两个连接。因为这两个交易将变得混杂,你将得到上述错误!!!
同时检查此link ..这可能对您有所帮助......