Как редактировать несколько отдельных строк в MySQL с одним и тем же запросом - PullRequest
0 голосов
/ 12 июня 2019

У меня есть таблица mysql со строкой, содержащей словарь, например:

  • Аллергия на ходу
  • кормушка для еды
  • Soulager для облегчения

Существует также уникальный столбец. Проблема состоит в том, что не все глаголы имеют значение в инфинитиве, как указано выше, поэтому в действительности таблица выглядит примерно так:

  • Аллергик Го
  • кормушка для еды
  • Soulager Relief

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

Их все легко увидеть:

SELECT * FROM vocab where french not like "to %";

Но редактировать их?

Ответы [ 2 ]

2 голосов
/ 12 июня 2019

Я думаю, вам нужно обновление:

update vocabulary
set french = 
  concat(substring_index(french, ' ', 1), ' to ', substring_index(french, ' ', -1))
where french not like '% to %'; 

См. Демоверсию .Результаты:

| french              |
| ------------------- |
| aller to go         |
| manger to eat       |
| soulager to relieve |
0 голосов
/ 12 июня 2019

Конечно, используйте обновление:

UPDATE vocab 
SET french = CONCAT("to ", french)
where french not like "to %";
...