Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

При переносе на новый сервер выскочила ошибка 1064


Rem559

Recommended Posts

Доброго времени суток! При переносе на новый сервер выскочила такая ошибка 


Fatal error: Uncaught Exception: Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'ASC LIMIT 0,16' at line 1<br />Error No: 1064<br />SELECT p.product_id, (SELECT AVG(rating) AS total FROM np_review r1 WHERE r1.product_id = p.product_id AND r1.status = '1' GROUP BY r1.product_id) AS rating, (SELECT price FROM np_product_discount pd2 WHERE pd2.product_id = p.product_id AND pd2.customer_group_id = '1' AND pd2.quantity = '1' AND ((pd2.date_start = '0000-00-00' OR pd2.date_start < NOW()) AND (pd2.date_end = '0000-00-00' OR pd2.date_end > NOW())) ORDER BY pd2.priority ASC, pd2.price ASC LIMIT 1) AS discount, (SELECT price FROM np_product_special ps WHERE ps.product_id = p.product_id AND ps.customer_group_id = '1' AND ((ps.date_start = '0000-00-00' OR ps.date_start < NOW()) AND (ps.date_end = '0000-00-00' OR ps.date_end > NOW())) ORDER BY ps.priority ASC, ps.price ASC LIMIT 1) AS special FROM np_product_to_category p2c LEFT JOIN np_produ in /var/www/napolka/data/www/xn-----dlcclbbmjdv6anbcpfcm4b6dxg.xn--p1ai/system/library/db/mysqli.php on line 41

 

mysqld  Ver 8.0.26-0ubuntu0.20.04.2  

Надіслати
Поділитися на інших сайтах


2 часа назад, Rem559 сказал:

Доброго времени суток! При переносе на новый сервер выскочила такая ошибка 


Fatal error: Uncaught Exception: Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'ASC LIMIT 0,16' at line 1<br />Error No: 1064<br />SELECT p.product_id, (SELECT AVG(rating) AS total FROM np_review r1 WHERE r1.product_id = p.product_id AND r1.status = '1' GROUP BY r1.product_id) AS rating, (SELECT price FROM np_product_discount pd2 WHERE pd2.product_id = p.product_id AND pd2.customer_group_id = '1' AND pd2.quantity = '1' AND ((pd2.date_start = '0000-00-00' OR pd2.date_start < NOW()) AND (pd2.date_end = '0000-00-00' OR pd2.date_end > NOW())) ORDER BY pd2.priority ASC, pd2.price ASC LIMIT 1) AS discount, (SELECT price FROM np_product_special ps WHERE ps.product_id = p.product_id AND ps.customer_group_id = '1' AND ((ps.date_start = '0000-00-00' OR ps.date_start < NOW()) AND (ps.date_end = '0000-00-00' OR ps.date_end > NOW())) ORDER BY ps.priority ASC, ps.price ASC LIMIT 1) AS special FROM np_product_to_category p2c LEFT JOIN np_produ in /var/www/napolka/data/www/xn-----dlcclbbmjdv6anbcpfcm4b6dxg.xn--p1ai/system/library/db/mysqli.php on line 41

 

mysqld  Ver 8.0.26-0ubuntu0.20.04.2  

Хммм, у вас был на страром mysql 5.6?
Если так то при переносе на 8 могут быть ошибки как в данном случае. Не помню там вроде формат дефолтной даты отличается от того что было в 5.6

Надіслати
Поділитися на інших сайтах

2 часа назад, Rem559 сказал:

ДА был на 5.6.  Есть мысли как это исправить? 

Есть вроде, напишите в лс, 
версию движка.Завтра посмотрю что и как.

Надіслати
Поділитися на інших сайтах

Исправил в /catalog/model/catalog/product.php  была синтаксическая ошибка, косяк с форматом даты не причем он правится так :

system/library/db/mysqli.php

$this->connection->query("SET SQL_MODE = ''");

$this->connection->query("SET SESSION sql_mode = 'NO_ZERO_IN_DATE,NO_ENGINE_SUBSTITUTION'");

Надіслати
Поділитися на інших сайтах


1 час назад, Rem559 сказал:

Исправил в /catalog/model/catalog/product.php  была синтаксическая ошибка, косяк с форматом даты не причем он правится так :

system/library/db/mysqli.php

$this->connection->query("SET SQL_MODE = ''");

$this->connection->query("SET SESSION sql_mode = 'NO_ZERO_IN_DATE,NO_ENGINE_SUBSTITUTION'");

Это плохой метод, костыльный и ненадежный. Менять дефолтные настройки БД - так себе идея.
Надо под 5.6 открыть базу, исправить в нескольких таблицах  формат даты (счас точно не помню, где там, смотреть надо), выгрузить и импортировать в более новый mysql (собственно, пока вы все не исправите, при импорте будет выкидывать ошибку с сообщением, где неверный формат).

Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.