1

私はMySQL 5.5.20とこのテーブルを持っています:

mysql> desc country;
+----------------+-------------+------+-----+---------+-------+
| Field          | Type        | Null | Key | Default | Extra |
+----------------+-------------+------+-----+---------+-------+
| id             | int(255)    | NO   | PRI | NULL    |       |
| iso            | varchar(2)  | NO   |     | NULL    |       |
| name           | varchar(80) | NO   |     | NULL    |       |
| printable_name | varchar(80) | NO   |     | NULL    |       |
| iso3           | varchar(3)  | YES  |     | NULL    |       |
| numcode        | smallint(6) | YES  |     | NULL    |       |
+----------------+-------------+------+-----+---------+-------+

このようなクエリを実行すると

SELECT country.ID, country.ISO, country.NAME,
   country.PRINTABLE_NAME, country.ISO3, country.NUMCODE
FROM country;

戻り値:

ERROR 2013 (HY000): Lost connection to MySQL server during query

次のように列の順序を変更した場合 (たとえば、PRINTABLE_NAME の前の ISO3):

SELECT country.ID, country.ISO, country.NAME,
   country.PRINTABLE_NAME,  country.NUMCODE, country.ISO3
FROM country;

それはうまくいきます!

または、列に小文字を使用してクエリを書き直しても、同様に機能します。

この問題はときどき (約 1 か月に 1 回) 発生し、これを修正する唯一の解決策は MySQL を再起動することです! 私はエラーログをチェックしましたが、これは私が持っているものです:

130310 11:01:23 [Warning] /usr/sbin/mysqld: Forcing close of thread 401108  user: 'root'

私は本当に混乱していて、なぜこれが起こるのか分かりません! これをどのように修正できるかについてのアイデアはありますか?

4

0 に答える 0