【发布时间】:2016-01-25 18:12:48
【问题描述】:
如果某个特定成员的记录在另一个表中不再有子记录,我正在尝试该记录。当我提交 DELETE FROM 时,我收到一个丢失的连接或 MySQL 服务器已经消失。如果我从数据库中选择相同的记录,我会得到一个有效的回报。我已经包含了以下交互:
SELECT m.* FROM Member m LEFT OUTER JOIN MemberAssociation ma ON m.memberID = ma.memberID WHERE m.scanCode = 12345 AND ma.associationCode IS NULL;
/* The expected Member records, which appear to be valid. 2 Rows */
DELETE m.* FROM Member m LEFT OUTER JOIN MemberAssociation ma ON m.memberID = ma.memberID WHERE m.scanCode = 12345 AND ma.associationCode IS NULL;
ERROR 2013 (HY000): Lost connection to MySQL server during query
DELETE m.* FROM Member m LEFT OUTER JOIN MemberAssociation ma ON m.memberID = ma.memberID WHERE m.scanCode = 12345 AND ma.associationCode IS NULL;
ERROR 2006 (HY000): MySQL server has gone away
No connection. Trying to reconnect...
Connection id: 2
Current database: my_database
ERROR 2013 (HY000): Lost connection to MySQL server during query
是否有可能我可以做些什么来解决这个问题,或者我更有可能偶然发现了一个软件错误?
我正在运行 innodb_version:5.6.19-67.0 和 MariaDB 版本:10.0.13-MariaDB。 Member 表是一个 InnoDB 表。
【问题讨论】:
-
请为这两个表提供`SHOW CREATE TABLE。
-
试试这个查询:
DELETE FROM Member m WHERE m.scanCode = 12345 and m.memberID IN( select ma.memberID MemberAssociation ma where ma.associationCode IS NULL )
标签: mysql innodb mariadb mysql-error-2006 mysql-error-2013