Показатель того, что всё свершилось, и поздно руками размахивать. Это надо было делать до выборов.
ЗЫ. Я проголосовал.
Нет, настоящие.
если бы так было на самом деле
Сомневаетесь? Читайте.А насчёт гриппа – Аргентина в своё время отменила вакцинацию в каком-то году, лет 10 назад, именно по этой причине. Ссылку лень искать, где-то у Супотницкого видел.
Единица там у большинства строк, это форумная тема в паблике. Но и 0, и 3 тоже вставлял в таблицу, эффекта не даёт. Собственно и вылезло при модерации темы, когда 0 появился. А так что с 0, что с 3, что без них – всё одинаково отрабатывает.И по одной цифре выборка работает хоть с 0, хоть с 1, хоть с 3.
какой? Int?
Не пробовали оптимизацию таблицы сделать, чтобы он её пересоздал.
tinyintНе, пересоздавать таблицу не пробовал. Проблему решил снятием проверки, в стартпосте написал.Просто любопытно стало, что за хрень такая. Я и по другим запросам проверял:
AND topic_visibility IN (7,8) - не работает AND topic_visibility IN (7,8,1) - работает AND topic_visibility IN (7,8,2) - не работает
Какая-то магическая единица. Чего-то я в этой кухне не понимаю.
А если без IN просто AND и OR?
Вроде бы сервер всё равно преобразует IN() в OR (или хз какая там кухня). Но проверил.
AND (topic_visibility=0 OR topic_visibility=3)
Та же фигня. Та же ошибка. Меняем 3 на 1 или 0 на 1 – ошибка пропадает.
Некоторые иммунологи говорят, что с появлением новых штаммов смертность среди привитых может резко возрасти. Это связано с тем, что организм настраивается на выработку определённого типа антител, и при внедрении похожего вируса принимает его за старую форму и начинает вырабатывать антитела, которые на этом штамме не работают. Организм начинает вырабатывать ещё больше антител - а они всё равно не останавливают размножение вируса. А дальше уже вопрос, что убьёт больного раньше: вирус, от которого нет антител, или собственные антитела (привет цитокиновому шторму и прочим автоиммунным реакциям).
Игры в жмурки с организмом – опасная вещь.
Вот и у меня такое впечатление, что это какой-то баг.
Смотрим, что будет.
Будет какая-то мистика. Если убрать последний запрос, будет всё без ошибок, выдаётся правильный ответ, все строки таблицы.Без ошибок также следующие варианты:
AND topic_visibility IN (0) AND topic_visibility IN ( 3) AND topic_visibility IN (1, 3) AND topic_visibility IN (0, 3, 1) AND topic_visibility IN (0, 1)
А варианты AND topic_visibility IN (0, 2) AND topic_visibility IN (0, 3) AND topic_visibility IN (0, 4) дают ошибку.
Отлично, теперь уменьшайте количество forum_id и без COUNT смотрите, что вам выводит БД. Если там меньше 100 строк то никаких проблем, если будет больше, значит что-то не так где-то.
Не так там что-то в планировании запроса, сервер как-то странно пытается "предвидеть" результат. Запрос
SELECT topic_id AS total FROM pb_topics WHERE forum_id IN (4, 5, 6, 7, 8, 11, 16, 17) AND topic_visibility IN (0, 3)
выдаёт ту же ошибку, а запрос
SELECT topic_id AS total FROM pb_topics WHERE forum_id IN (4, 5, 6, 7, 8, 11, 16) AND topic_visibility IN (0, 3)
или запрос
SELECT topic_id AS total FROM pb_topics WHERE forum_id IN (4, 5, 6, 7, 8, 11, 17) AND topic_visibility IN (0, 3)
завершаются успешно, и выдают результат 0 строк.