我的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 | |
|+----------------------+--------------+------+-----+---------+----------------+
答案 0 :(得分:0)
在尝试了几乎所有内容之后,包括玩弄INNODB变量,我最终尝试从平面表中删除引用allotID_ALLOTID。 ALLOTMENT表引用了FLAT表引用的FAMILY表。 从两个平面族表中删除allotID_ALLOTID。