Как удалить строку в таблице используя только начало и конец текста?
Есть таблица dle_post и столбец descr с описанием новостей, во всех описаниях есть строка которая повторяется но внутри нее название продукта разное.
Пример:
Мы печем лучший Вишневый хлеб в стране.
Эта фраза повторяется во всех новостях, меняется только название "Вишневый".
Пример на скриншотах, сейчас вот так:
А нужно сделать вот так:
Какой sql запрос нужен чтобы удалить строку вместе с названием из всех новостей?
Дополнительно:
where descr like '%Мы печем лучший%хлеб в стране%'
Просто используйте LIKE оператор
delete from news where description like 'Мы печем лучший % хлеб в стране.'; |
delete from news where description like 'Мы печем лучший % хлеб в стране.';
SQL LIKE online
- Почти то что нужно, но к сожалению оно удаляет все новости с вхождением такой строки.
Можете пожалуйста составить такое же правило но только с UPDATE, заменять эту строку на пробел. Возможно так получится.
Спасибо. - Mr. Smith, https://sqlize.online/sql/mysql57/21e3ae3733d6478e... ?
- Slava Rozhnev, https://sqlize.online/sql/mariadb/e1a02182cdd0b5c9...
вот что я имею ввиду, но к сожалению не рабочее, текст "Мы печем лучший % хлеб в стране." нужно убрать из новостей. Раз не получается удалить просто этот текст, думал может заменить на пробел. - Mr. Smith, https://sqlize.online/sql/mysql80/687b5742db3c4d26...
- Slava Rozhnev, Спасибо огромное за помощь!
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Пока нет других ответов. Будьте первым, кто поможет автору.
Ответить на вопрос


Для удаления строки в таблице, используя только начало и конец текста, вам необходимо выполнить следующие шаги:
1. Определите уникальный идентификатор строки, который будет использоваться для поиска строки в таблице. Это может быть, например, значение в определенном столбце.
2. Найдите индекс строки с помощью начала и конца текста. Для этого вам понадобится использовать соответствующий запрос к базе данных.
3. После того как вы найдете индекс строки, выполните запрос на удаление этой строки с помощью найденного индекса.
Приведу пример кода на языке PHP для удаления строки из таблицы с использованием начала и конца текста:
connect_error) { die("Connection failed: " . $conn->connect_error); } $start_text = "Начало текста"; $end_text = "Конец текста"; // Формируем запрос на поиск индекса строки $sql = "SELECT id FROM table_name WHERE column_name LIKE '%$start_text%$end_text%'"; $result = $conn->query($sql); if ($result->num_rows > 0) { // Найдена строка, удаляем ее $row = $result->fetch_assoc(); $id = $row["id"]; $sql_delete = "DELETE FROM table_name WHERE id = $id"; if ($conn->query($sql_delete) === TRUE) { echo "Строка успешно удалена"; } else { echo "Ошибка при удалении строки: " . $conn->error; } } else { echo "Строка не найдена"; } $conn->close(); ?>
Помните, что перед выполнением любых операций с базой данных необходимо обязательно проводить проверку данных и защищать от SQL-инъекций.