Linux机器上的Mysql更新挂起

时间:2013-03-15 09:35:14

标签: mysql

我的Windows机器上有一个MYSQL数据库,另一个类似的设置在Linux服务器上。 虽然我在Windows设置上执行非常基本的更新/删除/删除查询没有问题,但我的查询在Linux服务器上运行时会挂起。 Windows机器上的MYSQL版本是5.1.42,而Linux版本是5.6.5-m8 此外,更新的挂起不限于单个表。我的数据库中有4-5个交叉引用表,此更新/删除/删除挂起。 但是,更新/删除/删除适用于其他不相关的表。 在Linux上,首先,我只是从我的Windows机器生成一个转储(没有插入)。其次,我运行一个insert语句(insert into flat (FLATID, BLOCKNO, FLATNO) Values (1, 'B1','F1');)。 第三,我在表(UPDATE FLAT SET FLATNO='F2';)上运行更新并挂起。 平台说明如下:

+----------------------+--------------+------+-----+---------+----------------+
| Field                | Type         | Null | Key | Default | Extra          |
+----------------------+--------------+------+-----+---------+----------------+
| FLATID               | bigint(20)   | NO   | PRI | NULL    | auto_increment |
||BLOCKNO              | varchar(20)  | NO   |     | NULL    |                |
| FLATNO               | varchar(10)  | NO   |     | NULL    |                |
||col_COLID    | int(11)      | YES  | MUL | NULL    |                |
| famID_FAMID    | bigint(20)   | YES  | MUL | NULL    |                |
| | allotID_ALLOTID | bigint(20)   | YES  | MUL | NULL    |                |
|+----------------------+--------------+------+-----+---------+----------------+

1 个答案:

答案 0 :(得分:0)

在尝试了几乎所有内容之后,包括玩弄INNODB变量,我最终尝试从平面表中删除引用allotID_ALLOTID。 ALLOTMENT表引用了FLAT表引用的FAMILY表。 从两个平面族表中删除allotID_ALLOTID。