Создайте новую строковую переменную путем объединения двух целочисленных переменных с помощью MySQL.
-
12-11-2019 - |
Вопрос
Прошу прощения за глупость вопроса, но я полный новичок в MySQL, и мне трудно даже прочитать документацию по этому вопросу.У меня есть таблица с двумя столбцами «homeid» и «indid», которые являются целочисленными полями данных.Я хочу объединить их в новую переменную «uid» через дефис.Желаемый результат будет выглядеть так:
uid homeid indid
10-1 10 1
10-2 10 2
11-1 11 1
Я попробовал следующий код, который отлично справляется с созданием переменной «uid», в которой должны находиться объединенные переменные, но, похоже, не работает (хотя и не выдает ошибок), кроме этого:
ALTER TABLE table_name
add column uid varchar(10) FIRST; /*adds column uid to table "table_name" as first column*/
UPDATE table_name
SET uid=CONCAT('-' , homeid, indid);
Заранее спасибо за вашу помощь (и терпение).
Решение
Вам нужна здесь функция CONCAT_WS()
использовать разделитель-разделитель -
, или измените аргументы на CONCAT()
:
UPDATE table_name SET uid = CONCAT_WS('-' , homeid, indid);
ИЛИ измените аргументы на CONCAT()
UPDATE table_name SET uid = CONCAT(homeid, '-', indid);
Другие советы
Пожалуйста, попробуйте следующий запрос.
UPDATE table_name SET uid=CONCAT('-' , homeid, indid) where homeid > 0;
.