gpt4 book ai didi

mysql - 将两个表合并为一个

转载 作者:行者123 更新时间:2023-11-29 00:17:55 37 4
gpt4 key购买 nike

我只需要在没有冲突的情况下合并两个表(到 player_new)。

在表 1 (player_new) 中,我有 65,000 条记录。在表 2 (player_old) 中,我有 47,500 条记录。

两者的表结构是:

-- ----------------------------
-- Table structure for player_new
-- ----------------------------
DROP TABLE IF EXISTS `player_new`;
CREATE TABLE `player_new` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`account_id` int(11) NOT NULL DEFAULT '0',
`name` varbinary(24) NOT NULL DEFAULT 'NONAME'
........................
) ENGINE=MyISAM AUTO_INCREMENT=1000 DEFAULT CHARSET=latin1;

-- ----------------------------
-- Table structure for player_old
-- ----------------------------
DROP TABLE IF EXISTS `player_old`;
CREATE TABLE `player_old` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`account_id` int(11) NOT NULL DEFAULT '0',
`name` varbinary(24) NOT NULL DEFAULT 'NONAME'
........................
) ENGINE=MyISAM AUTO_INCREMENT=1000 DEFAULT CHARSET=latin1;

有一些名字是重复的,我只需要给 %s_x 相同的名字(在 player_new 表中),这样玩家以后可以更改他的名字。

有什么想法吗?

最佳答案

您可能应该按照@echo_me 的建议尝试重组您的表,但仍然可以通过将两个表数据合并到一个单独的表然后将该新表重命名为 player_new 来实现您想要的结果以下。查看演示 fiddle here

create table merged_player (
`id` int(11) NOT NULL AUTO_INCREMENT primary key,
`account_id` int(11) NOT NULL DEFAULT '0',
`name` varbinary(24) NOT NULL DEFAULT 'NONAME'
);

insert into merged_player(account_id,name)
select account_id,name from player_new
union
select account_id,name from player_old;

drop table player_new;

rename table merged_player to player_new;

关于mysql - 将两个表合并为一个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22269652/

37 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com