Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; DLE_Comments has a deprecated constructor in /var/www/dlefaq/data/www/dle-faq.ru/engine/classes/comments.class.php on line 21 Как сделать запрос в столбец при условии? :: DLE FAQ

Технический сбой

Сайт временно работает в режиме только для чтения, идут восстановительные работы. Приносим свои извинения за неудобства.
DLE FAQ » Все вопросы » MySQL » Как сделать запрос в столбец при условии?

Как сделать запрос в столбец при условии?


     Все вопросы » MySQL    925

вопрос
Есть таблица dle_post, нужно вставить в xfields значение, при условии, что в category если значение "1". Как организовать?

Ответил: LazyDev


UPDATE `dle_post` SET xfields=IF(xfields='', CASE 
		WHEN category REGEXP '[[:<:]](1)[[:>:]]' THEN 'type|Фильмы'
	ELSE
		''
END, CONCAT(xfields, 
	CASE 
		WHEN category REGEXP '[[:<:]](1)[[:>:]]' THEN '||type|Фильмы'
	ELSE
		''
END
));

3 комментария

Balumba
Юзер

Balumba - -

Обновить? Вот:
"UPDATE ".PREFIX."_post SET xfields={$data} WHERE category={$id}"

lolked
Юзер

lolked - -

Нужно добавить в xfields значение type|Фильмы

Balumba
Юзер

Balumba - -

"UPDATE ".PREFIX."_post SET xfields='type|Фильмы' WHERE category=1"

При условии, что поле "xfields" изначально пустое. В этом случае оно перезапишется полностью.
Если нужно дополнить, то сначала читаем это поле и пишем в переменную, потом дописываем в эту переменную "type|Фильмы", а потом пишем её по запросу, что написан выше.

Похожие вопросы

наверх