Обновить поле более короткой строкой - PullRequest
1 голос
/ 30 апреля 2020

Мне нужно изменить ДЛИНУ текста в поле в дБ mysql.

У меня есть attribute_name, который мне нужно иметь с максимальной длиной 28 символов. WordPress и woocommerce ограничивают это поле до 28 символов.

Сейчас мой сайт не работает, потому что некоторые таксономии слишком длинные. Есть ли способ "вырезать" все attribute_name <= 28? Все мои имя атрибута должно быть максимально ДЛИНА 28. </p>

Я использовал:

SELECT * FROM wp_woocommerce_attribute_taxonomies WHERE CHAR_LENGTH(attribute_name) > 28 

Чтобы показывать только элементы длиной более 28 символов. Результат: 669 строк.

Тогда я попробовал:

SELECT attribute_name, SUBSTR(`attribute_name`,1,27) 
FROM wp_woocommerce_attribute_taxonomies 
WHERE char_length(`attribute_name`) > 27

Он показывает правильную строку, но не обновляет мое исходное поле.

Кто-то может мне помочь? Спасибо

1 Ответ

0 голосов
/ 30 апреля 2020

Начиная с существующего запроса select, вы можете просто сделать:

update wp_woocommerce_attribute_taxonomies
set attribute_name = substr(attribute_name, 1, 27)
where char_length(attribute_name) > 27 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...