Поиск и замена запроса на пустые данные - PullRequest
0 голосов
/ 27 сентября 2018

Я бы заменил пустые данные в поле значением NULL.

Извлечение записи таблицы - 3 разных типа (Drupal 6 DB), я хочу, чтобы пустые (242) проходили как NULL.(156):

 INSERT INTO `content_field_lien_externe` (`vid`, `nid`, `delta`, `field_lien_externe_url`, `field_lien_externe_title`, `field_lien_externe_attributes`) VALUES
(10,    10, 0,  'http://www.onisep.fr', 'Lien ONISEP',  'a:0:{}'),
(156,   18, 3,  NULL,   NULL,   NULL),
(242,   219,    0,  '', NULL,   'a:0:{}');

и мой запрос:

 UPDATE `content_field_lien_externe`
 SET `field_lien_externe_url` = replace(field_lien_externe_url, '', 'NULL')

ничего не делать, так чего не хватает?

спасибо

1 Ответ

0 голосов
/ 27 сентября 2018

NULL не является строкой .Просто введите SET null, where поле пустое.

Выполните следующие действия (основываясь на комментариях OP ):

UPDATE `content_field_lien_externe`
 SET `field_lien_externe_url` = NULL, 
      `field_lien_externe_attributes` = NULL 
WHERE `field_lien_externe_url` = '' OR 
      `field_lien_externe_url` IS NULL

Дополнительно: Предположим, у вас есть строка с пробелами в столбце field_lien_externe_url.Тогда все равно его можно рассматривать как пустую строку, и вы можете использовать функцию Trim () , как показано ниже:

UPDATE `content_field_lien_externe`
 SET `field_lien_externe_url` = NULL, 
     `field_lien_externe_attributes` = NULL 
WHERE TRIM(field_lien_externe_url) = '' OR 
      `field_lien_externe_url` IS NULL
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...