Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> update в старом mysql 
:(
    Опции темы
ksnk
Дата 17.11.2008, 14:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 14
Всего: 386



Возникла проблема с хостером. У него  MySQL 3.23.58. К сожалению, это не лечится. Соответственно некоторые запросы, которые нормальные люди нормально выполняют он считает ошибочными, в частности update из одной таблицы в другую.
Вот такой запрос был. И работал на версиях старше 4.xx (точнее версию не помню, но, наверное не важно...) По смыслу, сначала сложным образом создается и заполняется временная таблица linza_temp , затем она вливается в linza_katalog. Этот запрос должен был по идее обновить существующие в таблице записи, перечисленные в linza_temp.
Код

UPDATE linza_katalog as x 
LEFT JOIN linza_temp as y ON x.articul = y.articul 
SET x.xarticle=y.xarticle,x.article=y.article,x.descr=y.descr,
x.proisv=y.proisv,x.edism=y.edism,x.descr1=y.descr1,
x.descr2=y.descr2,x.descr3=y.descr3,x.descr4=y.descr4,
x.descr5=y.descr5,x.descr6=y.descr6,x.sdescr=y.sdescr,x.cost=y.cost 
where x.haract = y.haract and y.articul<>""; 

Сейчас тот mysql утверждает, что
Код

You have an error in your SQL syntax near 'as x LEFT JOIN linza_temp as y ON x.articul = y.articul SET ...


Как его можно переписать, чтобы работало и на таком mysql?


Это сообщение отредактировал(а) ksnk - 17.11.2008, 14:11


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
Nigel
Дата 18.11.2008, 21:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


познаю мир
**


Профиль
Группа: Участник
Сообщений: 515
Регистрация: 20.11.2007

Репутация: нет
Всего: 19



ksnk, а Join'ы в какой версии появились?
Цитата
Как его можно переписать, чтобы работало и на таком mysql?

А переписать легко, достаточно разбить на 2 запроса.
Сначала селект из одной таблицы, потом апдейт другой.
PM MAIL   Вверх
ksnk
Дата 20.11.2008, 18:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 14
Всего: 386



Nigel, по всей видимости, до 4-й версии не было возможности использовать связанные таблицы. 

Но я уже переписал это на циклы. Для нормальных хостингов - нормальные запросы, для этого - как могу. smile


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Базы Данных | Следующая тема »


 




[ Время генерации скрипта: 0.0413 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.