Sign in to follow this  
Followers 0
balboa

Как заменить Null в базе данных на значения

8 posts in this topic

Всем привет

 

Есть задача записать в ячейки с пустым значением Null свой текст.

 

 

Просьба подсказать sql запрос для этого действия

 

Пробовал 

 

UPDATE wp_postmeta SET meta_key = REPLACE (meta_key, 'Null', 'new text')

 

и этот

 

UPDATE wp_postmeta SET meta_key = REPLACE (meta_key, '', 'new text')

 

не получается.

Share this post


Link to post
Share on other sites

Забыли указать имя произвольного поля:

update  set 'wp_postmeta' = replace('meta_value','Null','new text') WHERE 'meta_key' = 'price';
P.S. UPDATE wp_postmeta SET meta_key = REPLACE (meta_key, 'Null', 'new text') - так вы обновили имя пользовательского поля с Null на new text

Share this post


Link to post
Share on other sites

Забыли указать имя произвольного поля:

update  set 'wp_postmeta' = replace('meta_value','Null','new text') WHERE 'meta_key' = 'price';
P.S. UPDATE wp_postmeta SET meta_key = REPLACE (meta_key, 'Null', 'new text') - так вы обновили имя пользовательского поля с Null на new text

 

Найдено 1 ошибок при анализе.

 

  1. Ожидалось выражение. (near "set" at position 7)

Share this post


Link to post
Share on other sites

Забыли указать имя произвольного поля:

update  set 'wp_postmeta' = replace('meta_value','Null','new text') WHERE 'meta_key' = 'price';
P.S. UPDATE wp_postmeta SET meta_key = REPLACE (meta_key, 'Null', 'new text') - так вы обновили имя пользовательского поля с Null на new text

 

Тут не просто замена а скорее запись.

 

Т.е значение Null это пустота.

Share this post


Link to post
Share on other sites

Найдено 1 ошибок при анализе.

  • Ожидалось выражение. (near "set" at position 7)

Используйте SQL запрос находясь в wp_postmeta

Share this post


Link to post
Share on other sites

 

Моё решение такое:

UPDATE `wp_postmeta` SET `meta_value` = 'Текст' WHERE `meta_value` IS NULL

Сработало. Спасибо

Share this post


Link to post
Share on other sites

P.S. UPDATE wp_postmeta SET meta_key = REPLACE (meta_key, 'Null', 'new text') - так вы обновили имя пользовательского поля с Null на new text

 

Это не будет работать, ты говоришь найти текст NULL и замени на текст new_text. Но null это не текст, это отсутствие вообще какого-либо значения. Поэтому в данном случае вроде бы прописал просто NULL без кавычек и должно работать, но нет! Функция REPLACE является строковой, то есть она берет значение поля, ищет в ней указанный текст и меняет на другой текст. Но возвращаемся чуть назад - NULL не текст, это даже не пустая строка, это отсутствие значения, вакуум, потому данный запрос сработает без ошибок, но вот только никаких изменений не сделает.

UPDATE `wp_postmeta` SET `meta_value` = REPLACE (`meta_value`, NULL, 'new text');

 

Затронуто строк: 0  Найденные строки: 0  Предупреждения: 0  Длительность  1 запрос: 0,000 sec.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0

  • Recently Browsing   0 members

    No registered users viewing this page.