Перейти к публикации
mako

SQl запрос для удаления дополнительного поля в базе данных в dle 9.8

Рекомендованные сообщения

mako

Все привет! 
 
Нужна ваша помощь. Дело в том что базе данных нужно удалить определенное поле с его значением.
Нашел тему в maultalk но там конструкция не подходит. К примеру имеется доп. поле |kp_rating|7.806| , нужно удалить полностью поле с значением. Или такое невозможно сделать?
 

UPDATE `dle_post` 
    SET xfields = CONCAT(
        SUBSTRING(xfields, 1, LOCATE('поле1|значение1||', xfields)-1), 
        SUBSTRING(xfields, LOCATE('поле1|значение1||', xfields)+CHAR_LENGTH('поле1|значение1||'))
    ) WHERE xfields LIKE '%поле1|значение1||%';

 

Тема на Maultalk http://www.maultalk.com/topic145927.html.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
TheAndrey

REPLACE() используй.

 

UPDATE `dle_post` SET `xfields` = REPLACE(xfields, "поле1|значение1||", "") WHERE xfields LIKE '%поле1|значение1||%';
O.T.

Надо бы, чтобы целКО сделал нормальную систему хранения доп. полей - в отдельной таблице.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
mako

 

REPLACE() используй.

 

UPDATE `dle_post` SET `xfields` = REPLACE(xfields, "поле1|значение1||", "") WHERE xfields LIKE '%поле1|значение1||%';
O.T.

Надо бы, чтобы целКО сделал нормальную систему хранения доп. полей - в отдельной таблице.

 

В поле1 я вставлю kp_rating , а значение1 что мне вставлять? Мне нужно чтобы полностью и поле и значение удалилось, там значений много и все разные, может есть конструкция где не надо вводить значение1  оставив его пустым?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
mako

Тему можно закрывать, решения так и не нашел!

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
FTA1050

решения так и не нашел

Так может стоит оставить тему открытой? Возможно кто-то напишет реализацию. 

Изменено пользователем FTA1050

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
mako

 

решения так и не нашел

Так может стоит оставить тему открытой? Возможно кто-то напишет реализацию. 

 

Было бы очень даже хорошо, так как никогда не помешает. Кто силен в SQL тот надеюсь и напишет :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
TheAndrey

Будет время, наваяю скрипт, который проделает всю "грязную" работу.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
mako

Будет время, наваяю скрипт, который проделает всю "грязную" работу.

 

Было бы не плохо, так как в базе данных иногда приходится убирать мусор, обязательно ждемс  :p_up:

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
TheAndrey

Наваял.

Имя удаляемого поля (строка 27).

$fieldName = "source"; // имя поля (латинскими буквами)

 

Залить в корень сайта.

// shared хостер может выгнать за использование подобного скрипта :D Грузит, если обрабатывать много.

cleanfields.php

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Гость
Эта тема закрыта для публикации сообщений.

×