SQLinfo.ru - Все о MySQL Highload++ 2017

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

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

Вы не зашли.

#1 12.08.2017 00:23:30

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

update по условию

Добрый день, прошу помочь
нужно обновить sort_order  в таблице product, если quantity >0 ,sort_order для model под номерами 294 290 356 должен быть = 0.


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

Неактивен

 

#2 12.08.2017 00:28:40

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

Re: update по условию

update product set sort_order = 0 where model in (294,290,356) and quantity > 0;

оно?


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

Неактивен

 

#3 12.08.2017 00:33:51

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

Re: update по условию

deadka написал:

update product set sort_order = 0 where model in (294,290,356) and quantity > 0;

оно?

нее типа  такого нужно, только что бы для нескольких значений сразу


UPDATE  oc_product
SET     sort_order = CASE WHEN quantity = '> 0' THEN sort_order =1 ELSE sort_order END      
WHERE   model = 371
 

Отредактированно Petr (12.08.2017 00:34:12)


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

Неактивен

 

#4 12.08.2017 00:35:49

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

Re: update по условию

у меня просто не работает почему то, пишет что не нашло значений Affected rows: 0


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

Неактивен

 

#5 12.08.2017 00:41:07

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

Re: update по условию

замените where =  12
на
where in (12,3,34)


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

Неактивен

 

#6 12.08.2017 00:51:58

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

Re: update по условию

UPDATE  oc_product
SET     sort_order = CASE WHEN quantity = '> 0' THEN sort_order =1 ELSE sort_order END      
WHERE IN   model = (371,290-01,294-01)


ответ получил такой

[Err] 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 'IN   model = (371,290-01,294-01)' at line 3


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

Неактивен

 

#7 12.08.2017 00:59:17

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

Re: update по условию

UPDATE  oc_product
SET     sort_order = CASE WHEN quantity = '> 0' THEN sort_order =1 ELSE sort_order END     
WHERE  model IN = (371,290-01,294-01)

и подозреваю, что model - Это строка? тогда

UPDATE  oc_product
SET     sort_order = CASE WHEN quantity = '> 0' THEN sort_order =1 ELSE sort_order END     
WHERE  model IN = ('371','290-01','294-01');


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

Неактивен

 

#8 12.08.2017 01:05:13

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

Re: update по условию


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

Неактивен

 

#9 12.08.2017 01:19:55

rgbeast
Администратор
MySQL Authorized Developer and DBA
Откуда: Москва
Зарегистрирован: 21.01.2007
Сообщений: 3766

Re: update по условию

= лишнее после IN

Неактивен

 

#10 12.08.2017 01:37:43

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

Re: update по условию

rgbeast написал:

= лишнее после IN

Да, сейчас работает без ошибок но я не полуаю нужно результата, я бы хотел что бы порядок сортировки у определенных товаров, где колчиество больше 0 , становился нулем. В итоге обновляется только одно значение где количество = 0, т.е.  в точности наоборот?
Где я ошибся?


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

Неактивен

 

#11 14.08.2017 14:37:44

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

Re: update по условию

возможно ли записать этот запрос как то по другому?

Отредактированно Petr (14.08.2017 14:38:05)


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

Неактивен

 

Board footer

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