Создайте новую строковую переменную путем объединения двух целочисленных переменных с помощью MySQL.

StackOverflow https://stackoverflow.com/questions/8981581

  •  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;
.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top