删除单个mySQL行超时?
为了提高性能,我将公司的网站从MS Access改为mySQL,结果变得更糟 我有一个很小的表,包含不到5000行的数据,我试图用以下语句从该表中删除一行:删除单个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
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 & ";