powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Сделать UPDATE SET когда LIKE = перебором всех значений из другой таблицы
13 сообщений из 13, страница 1 из 1
Сделать UPDATE SET когда LIKE = перебором всех значений из другой таблицы
    #39116655
Фотография Андрей159
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Задача
Сделать UPDATE НОВОСТИ SET когда LIKE = перебором всех значений из другой таблицы

cron.php собирает новости. Все новости проходят премодерацию. Также есть таблица BAN где заносятся слова, часть которую если найти в НОВОСТЯХ, нужно сменить в НОВОСТЯХ статус к примеру = 1.
Искать нужно часть в любом месте (типа LIKE "%СЛОВО%")
...
Рейтинг: 0 / 0
Сделать UPDATE SET когда LIKE = перебором всех значений из другой таблицы
    #39116668
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сначала сделайте SELECT новостей из первой таблицы, которые соответствуют хотя бы одному шаблону из второй. Сумеете - преобразовать результат в запрос на обновление элементарно.
...
Рейтинг: 0 / 0
Сделать UPDATE SET когда LIKE = перебором всех значений из другой таблицы
    #39116675
Фотография Андрей159
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
у меня штопор на этапе как таблицу в таблицу засунуть (по каких правилах)

например:
UPDATE НОВОСТИ SET del=1 LIKE ( ЧТО ДАЛЬШЕ ? ( SELECT TXT FROM BAN ))

к TXT сумею добавить %
А как LIKE правильно с таблицей соединить ?
...
Рейтинг: 0 / 0
Сделать UPDATE SET когда LIKE = перебором всех значений из другой таблицы
    #39116685
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AkinaСначала сделайте SELECT
Причём так, чтобы каждая новость, соответствующая какому-либо шаблону, выводилась только один раз.
...
Рейтинг: 0 / 0
Сделать UPDATE SET когда LIKE = перебором всех значений из другой таблицы
    #39116709
Фотография Андрей159
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а.. только одна запись? я думал SQL умеет, если там много записей, то UPDATE будет ровно столько дублироваться сколько в SELECT. А так видимо нельзя ?

тогда выгодней будет в PHP это делать. из MySQL черный список передавать в массив, или из файла (кешировать експорт/импорт) и дальше в цыкле делать UPDATE
...
Рейтинг: 0 / 0
Сделать UPDATE SET когда LIKE = перебором всех значений из другой таблицы
    #39116718
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей159я думал SQL умеет, если там много записей, то UPDATE будет ровно столько дублироваться сколько в SELECT. А так видимо нельзя ?
А вот для того, чтобы ответить на этот вопрос, нужно озвучить решаемую задачу. А не Ваши попытки её решить.
...
Рейтинг: 0 / 0
Сделать UPDATE SET когда LIKE = перебором всех значений из другой таблицы
    #39116735
Фотография Андрей159
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что-то подобное очень давно уже делал. Правильно меня настроили на путь SELECT, просто не складывалось это никак с UPDATE. А там как припоминаю нужно сделать сначала действительно SELECT и доставать поле ID

Если сделать SELECT в SELECT -> вывести все поля, в условиях SELECT проверять LIKE вывести ID как результат и сравнить его с ID тот что в хвосте UPDATE.

Правильно ?
...
Рейтинг: 0 / 0
Сделать UPDATE SET когда LIKE = перебором всех значений из другой таблицы
    #39116821
Фотография Андрей159
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Делал такое раньше на ACCESS. Вот как это выглядит. Теперь попробую соединить в один запрос MySQL если получится с учетом того, что конкатенация здесь работает по другому и вместо "*" нужно записать "%"
...
Рейтинг: 0 / 0
Сделать UPDATE SET когда LIKE = перебором всех значений из другой таблицы
    #39116830
Фотография Андрей159
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Помогите. Почти закончил. Дальше не знаю как связать две таблицы.

№1. ЗАПРОС "СЕЛЕКТ":
Код: sql
1.
SELECT * FROM `wall`, `wall_black_list` WHERE title_in_wall LIKE concat("%",searsh_field_in_black_list,"%")



В ACCESS я могу сохранить этот запрос и потом использовать в следующем запросе (как в №2), а тут я не знаю как его прикрепить к следующему запросу

№2 ЗАПРОС "UPDATA"
Код: sql
1.
UPDATE [Запрос"СЕЛЕКТ"] INNER JOIN wall ON [Запрос"СЕЛЕКТ"].id=wall.id SET delet = 1;
...
Рейтинг: 0 / 0
Сделать UPDATE SET когда LIKE = перебором всех значений из другой таблицы
    #39116915
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей159,
после акса таких вопросов возникать не должно, достаточно почитать мануалы по mysql, их много и на русском. по мимо всего есть и хранимые процедуры.
...
Рейтинг: 0 / 0
Сделать UPDATE SET когда LIKE = перебором всех значений из другой таблицы
    #39116916
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей159,
не очень хочется разжёвывать то, что человек может просто почитать, но не хочет, (без обид)
...
Рейтинг: 0 / 0
Сделать UPDATE SET когда LIKE = перебором всех значений из другой таблицы
    #39116923
скукотища
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Андрей159,
Код: sql
1.
2.
3.
4.
5.
UPDATE wall
SET delet = 1
WHERE EXISTS (
    SELECT 'x' FROM wall_black_list WHERE title_in_wall LIKE concat('%', searsh_field_in_black_list, '%')
)
...
Рейтинг: 0 / 0
Сделать UPDATE SET когда LIKE = перебором всех значений из другой таблицы
    #39117090
Фотография Андрей159
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот, на сколько все гениально и просто. Большое спасибо Скукотища. Вы поймите, зачем мне учить полностью SQL BEGIN...END... PROC.. если не выделываю ничего особенного. Вот люди спрашивают на форумах как себя поведет процедура, если ее жизнь продолжается. Есть видимо много нюансов. Сейчас это темный лес. Дали бы подсказку за EXISTS - я бы читал, а все учить до конца - тогда и форума не надо. Спасибо
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Сделать UPDATE SET когда LIKE = перебором всех значений из другой таблицы
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]