У меня есть две таблицы users_new
и users_old
с некоторым количеством строк. Я хотел бы вставить данные от users_old
до users_new
с помощью insert select
.Сочетание INSERT SELECT и VARIABLES
Таблица users_old
имеет одно поле name
, которое содержит имя и фамилию.
Таблица users_new
должно иметь два поля, имя (name
) и фамилию (surname
).
Я не знаю, как их сочетать. Любой совет?
SET @str="";
SET @firstName="";
SET @lastName="";
INSERT INTO users_new (name, surname)
VALUES(
SELECT @firstName,@lastName;
@str=select name
FROM users_old
SET @firstName = SUBSTRING_INDEX(@str, ' ', 1);
SET @lastName=LTRIM(REPLACE(@str, @firstName, ''))
);
спасибо. Это решает мою проблему. – Dana
Это будет работать, если все имена состоят из последнего и имени. Если у вас есть только одно слово для имени, оно будет дублироваться в обоих столбцах, и если у вас есть среднее имя в миксе, последнее имя будет потеряно. – Derenir
спасибо.I понимать) – Dana