SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 24.10.2011 01:42:25

Petr
Завсегдатай
Откуда: Москва
Зарегистрирован: 19.10.2011
Сообщений: 49

Ошибка в синтаксисе

Добрый день, Вот такая ситуация:
1) Я Имею вот такую таблицу

INSERT INTO `product_description` (`product_id`, `language_id`, `name`, `description`, `meta_description`, `meta_keyword`) VALUES
(57, 1, 'Toyota Prius 2010 - 2011 Hubcap Wheel Cover 15&quot  NEW AM', 0x3c756c3e3c6c693e3c623e436f6e646974696f6e3c2f623e203a204e65773a2041206272616e642d6e65772c20756e757365642c20756e6f70656e65642c20756e64616d61676564206974656d20696e20697473206f726967696e616c207061636b6167696e6720287768657265207061636b6167696e67206973206170706c696361626c65292e205061636b6167696e672073686f756c64206265207468652073616d65206173207768617420697320666f756e6420696e20612072657461696c2073746f72652c20756e6c65737320746865206974656d20776173207061636b6167656420627920746865206d616e75666163747572657220696e206e6f6e2d72657461696c207061636b6167696e672c207375636820617320616e20756e7072696e74656420626f78206f7220706c6173746963206261672e20536565207468652073656c6c65722073206c697374696e6720666f722066756c6c2064657461696c732e3c2f6c693e3c6c693e3c623e50617274204272616e643c2f623e203a2041667465726d61726b657420526570726f64756374696f6e3c2f6c693e3c6c693e3c623e506c6163656d656e74206f6e2056656869636c653c2f623e203a204c6566742c2052696768742c2046726f6e742c20526561723c2f6c693e3c6c693e3c623e4d616e7566616374757265722050617274204e756d6265723c2f623e203a20343236303234373037303c2f6c693e3c6c693e3c623e537572666163652046696e6973683c2f623e203a205061696e7465642053696c7665723c2f6c693e3c6c693e3c623e496e7465726368616e67652050617274204e756d6265723c2f623e203a203537302d36313135363c2f6c693e3c6c693e3c623e57617272616e74793c2f623e203a205965733c2f6c693e3c6c693e3c623e4f746865722050617274204e756d6265723c2f623e203a20343236323141453033313c2f6c693e3c2f756c3e, 'Condition : New: A brand-new, unused, unopened, undamaged item in its original packaging (where packaging is applicable). Packaging sho', 'Condition,:,New:,A,brand-new,,unused,,unopened,,undamaged,item,in,its,original,packaging,(where,packaging,is,applicable).,Packaging,sho'),
(5820, 2, 'Yokohama AVS Sport V102A', 0x3c756c3e3c6c693e3c623ed0a2d0b8d0bf20d0b0d0b2d182d0bed0bcd0bed0b1d0b8d0bbd18f3c2f623e203a20d0bbd0b5d0b3d0bad0bed0b2d0bed0b93c2f6c693e3c6c693e3c623ed0a1d0b5d0b7d0bed0bdd0bdd0bed181d182d18c3c2f623e203a20d0bbd0b5d182d0bdd0b8d0b53c2f6c693e3c6c693e3c623ed094d0b8d0b0d0bcd0b5d182d1803c2f623e203a203136c2a0223c2f6c693e3c6c693e3c623ed0a8d0b8d180d0b8d0bdd0b020d0bfd180d0bed184d0b8d0bbd18f3c2f623e203a20313935c2a0d0bcd0bc3c2f6c693e3c6c693e3c623ed092d18bd181d0bed182d0b020d0bfd180d0bed184d0b8d0bbd18f3c2f623e203a2034353c2f6c693e3c6c693e3c623ed098d0bdd0b4d0b5d0bad18120d0bcd0b0d0bad181d0b8d0bcd0b0d0bbd18cd0bdd0bed0b920d181d0bad0bed180d0bed181d182d0b83c2f623e203a20572028d0b4d0be2032373020d0bad0bc2fd187293c2f6c693e3c6c693e3c623ed098d0bdd0b4d0b5d0bad18120d0bdd0b0d0b3d180d183d0b7d0bad0b83c2f623e203a2038343c2f6c693e3c6c693e3c623ed09cd0b0d0bad181d0b8d0bcd0b0d0bbd18cd0bdd0b0d18f20d0bdd0b0d0b3d180d183d0b7d0bad0b02028d0bdd0b020d0bed0b4d0bdd18320d188d0b8d0bdd183293c2f623e203a20353030c2a0d0bad0b33c2f6c693e3c2f756c3e, 'Тип автомобиля : легковойСезонность : летниеДиаметр : 16 "Ширина профиля : 195 мм', 'Тип,автомобиля,:,легковойСезонность,:,летниеДиаметр,:,16 "Ширина,профиля,:,195 мм'),
 


Я Пытаюсь сделать вот такое запрос (Запрос а качестве примера)

REPLACE INTO `product_description` (`product_id`, `language_id`, `name`, `description`, `meta_description`, `meta_keyword`) VALUES
(2742,    2,     'Диски AEZ  AirBlade',     0x266c743b756c2667743b0d0a09266c743b6c692667743b0d0a0909266c743b622667743bd0a2d0b8d0bf266c743b2f622667743b203a20d0bbd0b8d182d18bd0b5266c743b2f6c692667743b0d0a09266c743b6c692667743b0d0a0909266c743b622667743bd09cd0b0d182d0b5d180d0b8d0b0d0bb266c743b2f622667743b203a20d0b0d0bbd18ed0bcd0b8d0bdd0b8d0b5d0b2d18bd0b920d181d0bfd0bbd0b0d0b2266c743b2f6c692667743b0d0a09266c743b6c692667743b0d0a0909266c743b622667743bd0a6d0b2d0b5d182266c743b2f622667743b203a20d181d0b5d180d0b5d0b1d180d0b8d181d182d18bd0b92bd187d0b5d180d0bdd18bd0b9266c743b2f6c692667743b0d0a09266c743b6c692667743b0d0a0909266c743b622667743bd0a8d0b8d180d0b8d0bdd0b020d0bed0b1d0bed0b4d0b0266c743b2f622667743b203a2038202f20372e3526616d703b6e6273703b26616d703b71756f743b266c743b2f6c692667743b0d0a09266c743b6c692667743b0d0a0909266c743b622667743bd094d0b8d0b0d0bcd0b5d182d18020d0bed0b1d0bed0b4d0b0266c743b2f622667743b203a203136202f203137202f20313826616d703b6e6273703b26616d703b71756f743b266c743b2f6c692667743b0d0a09266c743b6c692667743b0d0a0909266c743b622667743bd09ad0bed0bbd0b8d187d0b5d181d182d0b2d0be20d0bad180d0b5d0bfd0b5d0b6d0bdd18bd18520d0bed182d0b2d0b5d180d181d182d0b8d0b9266c743b2f622667743b203a2035266c743b2f6c692667743b0d0a09266c743b6c692667743b0d0a0909266c743b622667743bd094d0b8d0b0d0bcd0b5d182d18020d180d0b0d181d0bfd0bed0bbd0bed0b6d0b5d0bdd0b8d18f20d0bed182d0b2d0b5d180d181d182d0b8d0b9266c743b2f622667743b203a203131342e33202f20313132202f2031303826616d703b6e6273703bd0bcd0bc266c743b2f6c692667743b0d0a09266c743b6c692667743b0d0a0909266c743b622667743bd094d0b8d0b0d0bcd0b5d182d18020d186d0b5d0bdd182d180d0b0d0bbd18cd0bdd0bed0b3d0be20d0bed182d0b2d0b5d180d181d182d0b8d18f266c743b2f622667743b203a2037302e312e2e2e37312e3626616d703b6e6273703bd0bcd0bc266c743b2f6c692667743b0d0a266c743b2f756c2667743b0d0a,     'Диски AEZ  AirBlade',     'Диски AEZ  AirBlade'    ),
(2739,    2,     'Диски AEZ Ares',     0x3c756c3e3c6c693e3c623ed0a2d0b8d0bf3c2f623e203a20d0bbd0b8d182d18bd0b53c2f6c693e3c6c693e3c623ed09cd0b0d182d0b5d180d0b8d0b0d0bb3c2f623e203a20d0b0d0bbd18ed0bcd0b8d0bdd0b8d0b5d0b2d18bd0b920d181d0bfd0bbd0b0d0b23c2f6c693e3c6c693e3c623ed0a6d0b2d0b5d1823c2f623e203a20d181d0b5d180d0b5d0b1d180d0b8d181d182d18bd0b93c2f6c693e3c6c693e3c623ed0a8d0b8d180d0b8d0bdd0b020d0bed0b1d0bed0b4d0b03c2f623e203a2038202f20382e35c2a0223c2f6c693e3c6c693e3c623ed094d0b8d0b0d0bcd0b5d182d18020d0bed0b1d0bed0b4d0b03c2f623e203a203137202f203138c2a0223c2f6c693e3c6c693e3c623ed09ad0bed0bbd0b8d187d0b5d181d182d0b2d0be20d0bad180d0b5d0bfd0b5d0b6d0bdd18bd18520d0bed182d0b2d0b5d180d181d182d0b8d0b93c2f623e203a20353c2f6c693e3c6c693e3c623ed094d0b8d0b0d0bcd0b5d182d18020d180d0b0d181d0bfd0bed0bbd0bed0b6d0b5d0bdd0b8d18f20d0bed182d0b2d0b5d180d181d182d0b8d0b93c2f623e203a20313030202f20313132c2a0d0bcd0bc3c2f6c693e3c6c693e3c623ed092d18bd0bbd0b5d18220284554293c2f623e203a2033322e2e2e3335c2a0d0bcd0bc3c2f6c693e3c2f756c3e,     'Диски AEZ  AirBlade',     'Диски AEZ Ares'    ),
(2707,    2,     'Диски AEZ Bimo',     0x3c756c3e3c6c693e3c623ed0a2d0b8d0bf3c2f623e203a20d0bbd0b8d182d18bd0b53c2f6c693e3c6c693e3c623ed09cd0b0d182d0b5d180d0b8d0b0d0bb3c2f623e203a20d0b0d0bbd18ed0bcd0b8d0bdd0b8d0b5d0b2d18bd0b920d181d0bfd0bbd0b0d0b23c2f6c693e3c6c693e3c623ed0a6d0b2d0b5d1823c2f623e203a20d181d0b5d180d0b5d0b1d180d0b8d181d182d18bd0b93c2f6c693e3c6c693e3c623ed0a8d0b8d180d0b8d0bdd0b020d0bed0b1d0bed0b4d0b03c2f623e203a2037c2a0223c2f6c693e3c6c693e3c623ed094d0b8d0b0d0bcd0b5d182d18020d0bed0b1d0bed0b4d0b03c2f623e203a203136c2a0223c2f6c693e3c6c693e3c623ed09ad0bed0bbd0b8d187d0b5d181d182d0b2d0be20d0bad180d0b5d0bfd0b5d0b6d0bdd18bd18520d0bed182d0b2d0b5d180d181d182d0b8d0b93c2f623e203a20353c2f6c693e3c6c693e3c623ed094d0b8d0b0d0bcd0b5d182d18020d180d0b0d181d0bfd0bed0bbd0bed0b6d0b5d0bdd0b8d18f20d0bed182d0b2d0b5d180d181d182d0b8d0b93c2f623e203a20313132c2a0d0bcd0bc3c2f6c693e3c6c693e3c623ed094d0b8d0b0d0bcd0b5d182d18020d186d0b5d0bdd182d180d0b0d0bbd18cd0bdd0bed0b3d0be20d0bed182d0b2d0b5d180d181d182d0b8d18f3c2f623e203a2037302e31c2a0d0bcd0bc3c2f6c693e3c2f756c3e,     'Диски AEZ Bimo',     'Диски AEZ Bimo'    ),
 


Получаю вот такую Ошибку

REPLACE INTO `product_description` (`product_id`, `language_id`, `name`, `description`, `meta_description`, `meta_keyword`) VALUES (2742, 2, 'Диски AEZ AirBlade', 0x266c743b756c2667743b0d0a09266c743b6c692667743b0d0a0909266c743b622667743bd0a2d0b8d0bf266c743b2f622667743b203a20d0bbd0b8d182d18bd0b5266c743b2f6c692667743b0d0a09266c743b6c692667743b0d0a0909266c743b622667743bd09cd0b0d182d0b5d180d0b8d0b0d0bb266c743b2f622667743b203a20d0b0d0bbd18ed0bcd0b8d0bdd0b8d0b5d0b2d18bd0b920d181d0bfd0bbd0b0d0b2266c743b2f6c692667743b0d0a09266c743b6c692667743b0d0a0909266c743b622667743bd0a6d0b2d0b5d182266c743b2f622667743b203a20d181d0b5d180d0b5d0b1d180d0b8d181d182d18bd0b92bd187d0b5d180d0bdd18bd0b9266c743b2f6c692667743b0d0a09266c743b6c692667743b0d0a0909266c743b622667743bd0a8d0b8d180d0b8d0bdd0b020d0bed0b1d0bed0b4d0b0266c743b2f622667743b203a2038202f20372e3526616d703b6e6273703b26616d703b71756f743b266c743b2f6c692667743b0d0a09266c743b6c692667743b0d0a0909266c743b622667743bd094d0b8d0b0d0bcd0b5d182d18020d0bed0b1[...]

Ответ MySQL:  
 #1064 - 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 '' at line 4
 


Дело в том что я не могу использовать эти ковычки которые мне рекомендует MYSQL .

Спасибо За помощь!


Работаю над Сайтом http://tuningdom.ru/, Ищу гуру которого можно спросить обо Всем!

Неактивен

 

#2 24.10.2011 02:21:37

deadka
Администратор
Зарегистрирован: 14.11.2007
Сообщений: 2420

Re: Ошибка в синтаксисе

А что значит "не можете" использовать кавычки, которые рекомендует mysql? Какой тип у поля description?


Зеленый свет для слабаков, долги отдают только трусы, тру гики работают только в консоли...

Неактивен

 

#3 24.10.2011 11:23:06

Petr
Завсегдатай
Откуда: Москва
Зарегистрирован: 19.10.2011
Сообщений: 49

Re: Ошибка в синтаксисе

Я так понимаю что это Кэшированное значение оно без кавычек идет.


0x3c756c3e3c6c693e3c623ed0a2d0b8d0bf3c2f623e203a20d0bbd0b8d182d18bd0b53c2f6c693e3c6c693e3c623ed09cd0b0d182d0b5d180d0b8d0b


Примено 3000 замен нужно сделать для таблицы  product_description нужно заменить значения в столбцах `meta_description`, `meta_keyword`, остальные значения можно в принципе не трогать. Я пробовал делать запрос update, но там как я понял нужно указвать WHERE значения поля которое нужно заменить, а для 3000 значений это проблематично.

Отредактированно Petr (24.10.2011 11:32:26)


Работаю над Сайтом http://tuningdom.ru/, Ищу гуру которого можно спросить обо Всем!

Неактивен

 

#4 24.10.2011 11:52:30

deadka
Администратор
Зарегистрирован: 14.11.2007
Сообщений: 2420

Re: Ошибка в синтаксисе

Так какой всё же тип у поля description? В условии WHERE не обязательно указывать значение поля, которое нужно заменить, но нужно указать условие замены, иначе заменит везде.


Зеленый свет для слабаков, долги отдают только трусы, тру гики работают только в консоли...

Неактивен

 

#5 24.10.2011 14:35:42

Petr
Завсегдатай
Откуда: Москва
Зарегистрирован: 19.10.2011
Сообщений: 49

Re: Ошибка в синтаксисе

deadka написал:

Так какой всё же тип у поля description? В условии WHERE не обязательно указывать значение поля, которое нужно заменить, но нужно указать условие замены, иначе заменит везде.

А Как определить тип, по идее там текст, но он почему то кэшируется ?

Мне нужно заменить в таблице 'product_description' значения в столбцах meta_description`, `meta_keyword`,но не все а с определенным ID

Это содержание таблицы
'product_description' INSERT INTO `product_description` (`product_id`, `language_id`, `name`, `description`, `meta_description`, `meta_keyword`) VALUES

Я делаю вот такой запрос



UPDATE `product_description`
SET `meta_description` = 'Sony XAV-  60','Sony CDX- GT790UI'
WHERE `product_id` = '5923','5924';

 


Мне вылазит Вот такой ответ, я уже и кавычки убирал и запятую ставил и точку с запятой после Sony CDX- GT790UI. Мне нужно сделать Update для 3000 значений.

#1064 - 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 ''Sony CDX- GT790UI'
 WHERE `product_id` = '5923','5924'' at line 2


Работаю над Сайтом http://tuningdom.ru/, Ищу гуру которого можно спросить обо Всем!

Неактивен

 

#6 24.10.2011 14:48:40

deadka
Администратор
Зарегистрирован: 14.11.2007
Сообщений: 2420

Re: Ошибка в синтаксисе

Наверное Вам нужно что-то такое:

UPDATE `product_description`
SET `meta_description` = 'Sony XAV-  60', `meta_keyword`= 'Sony CDX- GT790UI'
WHERE `product_id` in(5923,5924);


или

UPDATE `product_description`
SET `meta_keyword` = 'Sony XAV-  60', `meta_description`= 'Sony CDX- GT790UI'
WHERE `product_id` in(5923,5924);


Чтобы определить тип можно посмотреть результат запроса
show create table `product_description`

Отредактированно deadka (24.10.2011 15:14:38)


Зеленый свет для слабаков, долги отдают только трусы, тру гики работают только в консоли...

Неактивен

 

#7 24.10.2011 15:23:18

Petr
Завсегдатай
Откуда: Москва
Зарегистрирован: 19.10.2011
Сообщений: 49

Re: Ошибка в синтаксисе

deadka написал:

Наверное Вам нужно что-то такое:

UPDATE `product_description`
SET `meta_description` = 'Sony XAV-  60', `meta_keyword`= 'Sony CDX- GT790UI'
WHERE `product_id` in(5923,5924);


или

UPDATE `product_description`
SET `meta_keyword` = 'Sony XAV-  60', `meta_description`= 'Sony CDX- GT790UI'
WHERE `product_id` in(5923,5924);


Чтобы определить тип можно посмотреть результат запроса
show create table `product_description`

У description    тип text.

Такая запись изменит значения meta_keyword meta_description для вот этих ID 5923,5924, они буду одинакове, а мне нужно что бы meta_keyword были разные . Т.е для id 5923 значение meta_keyword Sony XAV-  60, для ID 5924 Sony CDX- GT790UI ... и так 3000 значений. Каким запрос должен быть? Я вот И думал сделать это при помощи
REOLACE, но не получается...

UPDATE `product_description`
SET `meta_keyword` = 'Sony XAV-  60', `meta_description`= 'Sony CDX- GT790UI'
WHERE `product_id` in(5923,5924);

Отредактированно Petr (24.10.2011 15:37:08)


Работаю над Сайтом http://tuningdom.ru/, Ищу гуру которого можно спросить обо Всем!

Неактивен

 

#8 24.10.2011 20:36:31

deadka
Администратор
Зарегистрирован: 14.11.2007
Сообщений: 2420

Re: Ошибка в синтаксисе

Если Вы хотите, чтобы у Вас были разные meta_keyword у разных записей и нет никаких зависимостей, то одним запросом этого не сделать. Или у Вас есть какой-то механизм, как вычислить те meta_keyword, которые Вам нужны, исходя из старых?


Зеленый свет для слабаков, долги отдают только трусы, тру гики работают только в консоли...

Неактивен

 

#9 24.10.2011 22:21:17

Petr
Завсегдатай
Откуда: Москва
Зарегистрирован: 19.10.2011
Сообщений: 49

Re: Ошибка в синтаксисе

deadka написал:

Если Вы хотите, чтобы у Вас были разные meta_keyword у разных записей и нет никаких зависимостей, то одним запросом этого не сделать. Или у Вас есть какой-то механизм, как вычислить те meta_keyword, которые Вам нужны, исходя из старых?

Да нужно просто скопировать значение столбца 'name' в meta_keyword и meta_description, все значения которые находятся meta_keyword и meta_description должны быть заменены значением name. Т.е. если по русски Название товара нужно скопировать в поля meta_keyword и meta_description, название как вы сами понимаете у кждого товара уникальное, вот и нужно что бы для каждого поля значения meta_keyword и meta_description соответствовало названию, т.е. name.

Отредактированно Petr (24.10.2011 22:24:58)


Работаю над Сайтом http://tuningdom.ru/, Ищу гуру которого можно спросить обо Всем!

Неактивен

 

#10 24.10.2011 22:28:38

deadka
Администратор
Зарегистрирован: 14.11.2007
Сообщений: 2420

Re: Ошибка в синтаксисе

Так-с, снимите резервную копию с таблички на всякий случай smile, следующий запрос поменяет все строки в таблице.

UPDATE `product_description` SET `meta_keyword` = cast(`product_id` as char), `meta_description`= cast(`product_id` as char);


Это если Вы хотите поменять прямо все строки в таблице. Если же не все - то придумайте критерий, по которому нужно задать условие WHERE.


Зеленый свет для слабаков, долги отдают только трусы, тру гики работают только в консоли...

Неактивен

 

#11 25.10.2011 01:14:47

Petr
Завсегдатай
Откуда: Москва
Зарегистрирован: 19.10.2011
Сообщений: 49

Re: Ошибка в синтаксисе

Отлично! Спасибо Бльшое За Помощь!


Работаю над Сайтом http://tuningdom.ru/, Ищу гуру которого можно спросить обо Всем!

Неактивен

 

#12 25.10.2011 01:18:58

deadka
Администратор
Зарегистрирован: 14.11.2007
Сообщений: 2420

Re: Ошибка в синтаксисе

Пожалуйста smile.

Насчет поля description  - раз у него тип text, то для того, чтобы его обновить
нужно в кавычках указывать текстовое значение, т. е. не
0x3c756c3e3c6c693e3c623ed0a2d0b8d0bf3c2f623e203a20d0bbd0b8d182d18bd0b53c2f6c693e3c6c693e3c623ed09cd0b0d182d
а
'0x3c756c3e3c6c693e3c623ed0a2d0b8d0bf3c2f623e203a20d0bbd0b8d182d18bd0b53c2f6c693e3c6c693e3c623ed09cd0b0d182d'


Зеленый свет для слабаков, долги отдают только трусы, тру гики работают только в консоли...

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson