我将组织的网站从使用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);
答案 0 :(得分:0)
好吧,这很奇怪,我不知道为什么会起作用,但是在第二个等号后插入空格会达到目的。
所以我更改了以下代码:
DELETE FROM club_rosters WHERE player_id = " & tPlayerID & " AND club_id =" & cClubId & ";
收件人:
DELETE FROM club_rosters WHERE player_id = " & tPlayerID & " AND club_id = " & cClubId & ";