删除单个mySQL行超时?

删除单个mySQL行超时?,mysql,Mysql,为了提高性能,我将公司的网站从MS Access改为mySQL,结果变得更糟 我有一个很小的表,包含不到5000行的数据,我试图用以下语句从该表中删除一行: DELETE FROM club_rosters WHERE player_id = " & tPlayerID & " AND club_id =" & cClubId & "; 此代码是从ASP页面运行的 错误消息如下所示: Microsoft OLE DB Provider for ODBC Driv

为了提高性能,我将公司的网站从MS Access改为mySQL,结果变得更糟

我有一个很小的表,包含不到5000行的数据,我试图用以下语句从该表中删除一行:

DELETE FROM club_rosters WHERE player_id = " & tPlayerID & " AND club_id =" & cClubId & ";
此代码是从ASP页面运行的

错误消息如下所示:

Microsoft OLE DB Provider for ODBC Drivers error '80004005'

[MySQL][ODBC 5.1 Driver][mysqld-5.6.40-84.0-56-log]Lost connection to MySQL server during query

/grassroots/clubs/admin/admPlayerMove.asp, line 126
我不明白为什么用主键删除一行会超时(在这个表中,球员和俱乐部的组合是唯一的)

这是表定义:

CREATE TABLE club_rosters
(club_id MEDIUMINT NOT NULL,
player_id MEDIUMINT DEFAULT NULL,
roster_type_id MEDIUMINT NOT NULL,
is_in_results TINYINT NOT NULL DEFAULT 1,
created_at DATETIME DEFAULT CURRENT_TIMESTAMP, 
updated_at DATETIME ON UPDATE CURRENT_TIMESTAMP
);

ALTER TABLE club_rosters ADD PRIMARY KEY (club_id, player_id);
ALTER TABLE club_rosters ADD INDEX (roster_type_id);

好的,这很奇怪,我不知道为什么它会起作用,但是在第二个等号后面插入空格就可以了

因此,我将代码更改为:

DELETE FROM club_rosters WHERE player_id = " & tPlayerID & " AND club_id =" & cClubId & ";
致:


看起来不是设计问题,您在查询过程中失去了连接。在不使用ODBC的情况下尝试相同的查询您在谈论哪个版本的ASP?另外,这个事实与这个问题之间的关系有点不清楚(因为您只询问SQL),所以我现在编辑了这个标记。
DELETE FROM club_rosters WHERE player_id = " & tPlayerID & " AND club_id = " & cClubId & ";