Как добавить строку в конец существующего значения таблицы? Скажем, у меня есть таблица ниже:
И скажем, что Мария Андерс не только жила в Берлине, но и в Токио. Как добавить строку
«Токио» в столб Сити, где ContactName = Maria Anders?
PS Я хочу иметь возможность добавлять к нулевому значению. Таким образом, заканчивается только одним городом.
Используйте комбинацию CONCAT
и IFNULL
(для обработки случая NULL
):
UPDATE `table` SET `City` = IFNULL(CONCAT(`City`, " Tokyo"), "Tokyo") WHERE `ContactName` = "Maria Anders";
Однако добавление кажется неправильным. Если вам нужны несколько значений City (отношение «многие ко многим»), у вас должна быть отдельная таблица для городов и отдельная таблица для отношений «человек-город». Читайте о нормализации базы данных .
У вас не должно быть вложенных списков внутри таблицы. Сначала я создаю таблицу, которая связывает каждого человека с уникальным идентификатором. Это важно, если у вас есть кто-то другой с тем же именем.
ID | ContactName ----+--------------- 23 | Maria Anders
Затем каждое местоположение связано с ID – например:
ID | Address | City ----+-----------+------
Затем, когда вам нужно добавить новое место для одного и того же человека, вы можете просто добавить другое значение. Например:
ID | Address | City ----+-----------+------ 23 | Foo ST. | Baria 23 | Bar Ave. | Fooia
Извлечение данных и создание списка в вашем приложении / веб-сайте будут легкими, а также более гибкими. Ознакомьтесь с информацией о построении таблиц отношений «один ко многим» через Google или в других местах, которые люди предложили.