MYSQL + PHP - обновление поля таблицы

101
03 октября 2019, 04:30

Задача такая, в бд имеется поле, например, numbers, в котором хранятся числа через запятую (поле типа TINYTEXT)

Вот пример

numbers
1,2,4,21
3,5,8,9
11,10,6

На php у меня есть массив с числами, например $array = [1, 8, 10, 6] Нужно составить запрос, который уберет все числа, которые есть в массиве в этом столбце numbers, а также уберет ненужные запятые, вообщем формат должен остаться корректным

Т.е. результат должен быть

2,4,21
3,5,9
11

Желательно без циклов и т.д одним запросом Про JSON формат в MYSQL я знаю, здесь он не используется

Answer 1

Приведенный способ явно не подойдет для регулярного использования. Для одного числа можно сделать такой запрос:

UPDATE tableName
SET fieldName=TRIM(BOTH ',' FROM REPLACE(CONCAT(',', fieldName, ','), ',valueToRemove,', ','))
WHERE id=ID

где fieldName - название поля, valueToRemove - число, которое нужно заменить. Для нескольких числел можно последовательно REPLACE вызвать.

READ ALSO
PHP, занесение данных в массив в цикле

PHP, занесение данных в массив в цикле

У меня есть такой код:

133
create React app + php + mysql

create React app + php + mysql

Как выстроить такую схему работы: получать данные из бд в react компоненты и делать live-reload? На данный момент данные синхронизируются с бд, но приходится...

104
Вывод xml в виде таблицы через PHP

Вывод xml в виде таблицы через PHP

Есть код, он парсит XML файл и выводит из него информацию, сейчас это выглядит вот так

128
Сложение вычитание переполнение C++

Сложение вычитание переполнение C++

Как можно выполнить + и получить переполнение? делать какую-то условную конструкцию для этого странно тк

99