У нас есть некоторые странные проблемы с внутренними соединениями MySQL. В принципе, мы получаем нечетную ошибку при использовании оператора '=', но вместо этого используйте "like", чтобы он работал. К сожалению, это через ActiveRecord, и нет простого способа просто нажать "like" вместо этого, плюс мы хотим понять, что на самом деле происходит здесь.
Вот запрос, который не выполняется:
mysql> SELECT COUNT(*) FROM `versions` INNER JOIN `site_versions`
ON `versions`.id = `site_versions`.version_id;
Вот ошибка:
ERROR 1296 (HY000): Got error 20008 'Query aborted due to out of query memory'
from NDBCLUSTER
Вот запрос, который работает:
mysql> SELECT COUNT(*) FROM `versions` INNER JOIN `site_versions`
ON `versions`.id like `site_versions`.version_id;
Вот некоторые сведения о самих таблицах:
mysql> desc site_versions;
+----------------------+----------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+----------------------+----------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| version_id | int(11) | YES | MUL | NULL | |
[..snip..]
+----------------------+----------+------+-----+---------+----------------+
mysql> desc versions;
+------------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+------------+--------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
[..snip..]
+------------+--------------+------+-----+---------+----------------+
Любые идеи, почему "нравится" работает, а "=" - нет?