#mysql #mysql-workbench
Вопрос:
Итак, в настоящее время мы изучаем MySQL в классе, и многие из нас в принципе не могут запускать эти функции. Профессор использовал в классе примеры, которые работают в его системе (в настоящее время он работает под управлением версии 8.0.19), но не работают в нашей. Мы получаем сообщение об ошибке «Код ошибки: 1305. ФУНКЦИЯ ap.ГРУППИРОВКА не существует», когда мы пытаемся запустить это:
SELECT IF(GROUPING(invoice_date) = 1, 'Grand totals', invoice_date) AS invoice_date,
IF(GROUPING(payment_date) = 1, 'Invoice date totals', payment_date) AS payment_date,
SUM(invoice_total) AS invoice_total,
SUM(invoice_total - credit_total - payment_total) AS balance_due
FROM invoices
WHERE invoice_date BETWEEN '2018-07-24' AND '2018-07-31' GROUP BY invoice_date, payment_date WITH ROLLUP;
Его единственным реальным решением было убедиться, что мы используем 64-битную версию (которой я являюсь), поэтому я пытался прочитать самостоятельно и все еще испытывал некоторые проблемы. Моя единственная реальная гипотеза заключается в том, что, возможно, это версия MySQL, которую я запускаю. Я попытался обновить MySQL до новой версии после этого:
https://dev.mysql.com/doc/refman/8.0/en/windows-upgrading.html#windows-upgrading-installer
Но как только я доберусь до шага 3 «Обновление MySQL с помощью установщика MySQL«, я получу это сообщение, это сообщение.
Решил, что я попробую здесь посмотреть, есть ли у кого-нибудь еще какие-либо идеи о том, как я могу это исправить или как я могу на самом деле перейти на более новую версию. Буду признателен за любую помощь. Спасибо.
Вот соединение, которое я использую для подключения к MySQL. всегда используйте правильное.
Комментарии:
1. что
select version();
сообщается в версии, которую вы используете?2. вы каким-то образом подключаетесь к какому-то другому серверу, кроме установленного вами 8.0.23?
3. @ysth Это 5.7.31. Извините, я думал, что сказал это в своем посте, но, похоже, я забыл. Это тоже меня смутило. Когда я перехожу к своему статусу сервера, он находится в этой версии, но когда я перешел на экран обновления, там было написано 8.0.23. Кроме того, мы используем wampserver. Он также сказал нам убедиться, что это 64-битная версия, каковой она и является.
4. Когда вы открываете MySQL Workbench, вы подключаетесь к экземпляру сервера MySQL на локальном хосте/127.0.0.1? Вы подключаетесь к порту 3306 (по умолчанию)? Возможно, на вашем компьютере запущено несколько экземпляров.
5. И для справки, тот факт, что вы подключаетесь к экземпляру 5.7.31, определенно объясняет, почему функция не найдена. Как и в случае со всем программным обеспечением, каждая новая версия вводит новые функции. Вы можете сравнить справочные списки функций в MySQL 8.0 с функциями в MySQL 5.7 . ГРУППИРОВКА() и НАД () — это функции, новые в версии 8.0.