我有两个表users_new
和users_old
,其中包含一些行数。
我想使用users_old
将数据从users_new
插入insert select
。
表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, ''))
);
答案 0 :(得分:1)
如果分割标准是空格,如发布的sql代码所暗示的那样,那么您可以使用简单的INSERT INTO SELECT
语句:
INSERT INTO users_new (name, surname)
SELECT SUBSTRING_INDEX(name, ' ', 1), SUBSTRING_INDEX(name, ' ', -1)
FROM users_old
通过第二次调用SUBSTRING_INDEX
来选择姓氏:由于name
参数,此名称获取-1
字段的第二部分