заставить точное условие слова в MySQL

У меня есть эта таблица с полем, называемым nombre и marca_temp

nombre записей может быть:

IMPRESORA HP XXXXX
IMPRESORA MP YYYYY
IMPRESORA AMP ZZZZZ
MP IMPRESORA RRRRR
IMPRESORA 3500 MP
IMPRESORA 5200 HP

И у меня есть это update, которое ищет в nombre слово и установить его в поле marca_temp

tep_db_query("update " . TABLE . " set marca_temp = 'MP' where nombre like '%MP%' and marca_temp = '' ");

tep_db_query("update " . TABLE . " set marca_temp = 'HP' where nombre like '%HP%' and marca_temp = '' ");

tep_db_query("update " . TABLE . " set marca_temp = 'AMP' where nombre like '%AMP%' and marca_temp = '' ");

Но у меня есть проблема, мне нужно слово в запросе, чтобы быть точным, потому что, например, все они содержат MP по слову I MP RESORA и установите меня в marca_temp все в MP

Как сделать поле точным и полным словом ?

3
задан 28.11.2019, 16:36
2 ответа

PodrГ-схвати использовать REGEXP и закладки lГ-mite слов ([[:<:]] y [[:>:]])

Пример:

UPDATE $table
  SET marca_temp = '$word'
  WHERE nombre REGEXP '[[:<:]]$word[[:>:]]'
    AND marca_temp = ''

Замечает: заменять $table и $word

Demo


, Примененные к тебе cГіdigo:

$word = 'MP';
$table = TABLE;
tep_db_query("update $table set marca_temp = '$word' where nombre REGEXP '[[:<:]]$word[[:>:]]' and marca_temp = ''");
5
ответ дан 01.12.2019, 10:40

% внутри твоей статьи LIKE на обоих концах слова, чтобы искать, значат, что будет искать тебя равенство независимо, откуда эта он случился.

AprovechГЎndote этого podrГ-схвати делать что-то как:

tep_db_query("update " . TABLE . " set marca_temp = 'MP' where nombre like '% MP %' and marca_temp = '' ");

tep_db_query("update " . TABLE . " set marca_temp = 'HP' where nombre like '% HP %' and marca_temp = '' ");

tep_db_query("update " . TABLE . " set marca_temp = 'AMP' where nombre like '% AMP %' and marca_temp = '' ");

В aГ±adir место впереди и detrГЎs равенства deberГ-схвати добиваться того, чтобы update только он случился, когда искавшее слово - та, которая появляется в способе твоего поля nombre.

1
ответ дан 01.12.2019, 10:40
  • 1
    есть деталь может состоять в том, чтобы он был в начало, или в конце поля ИМЯ добавило, что другой пример достигает, так как я это не считал, но если я нуждаюсь в этом – Ivan Diaz Perez 28.11.2019, 16:07
  • 2
    Podrí схвати использовать OR, чтобы созерцать эти возможности: '% MP %', 'MP %', '% MP'. – phpMyGuel 28.11.2019, 16:10

Теги

Похожие вопросы