【发布时间】:2018-08-18 12:33:19
【问题描述】:
我将我组织的网站从使用 MS Access 切换到了 mySQL,以尝试提高性能,但结果却变得更糟。
我有一个小表,其中包含不到 5,000 行数据,我正在尝试使用以下语句从该表中删除一行:
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);
【问题讨论】:
-
看起来不像是设计问题,您在查询期间失去了连接。在不使用 ODBC 的情况下尝试相同的查询
-
您说的是哪个版本的 ASP?另外,有点不清楚这个事实与问题的关系(因为你只是在询问 SQL),所以我现在编辑了那个标签。
标签: mysql