最近做一个WEBGAME项目时,前期为了描述方便,把一些资料存入了MYSQL,以便以后进行拆解重新组织,临时表如下:
//部队兵种属性临时表
CREATE TABLE `data_soldierattrib` (
`SoldierId` int(10) unsigned NOT NULL default '0' COMMENT '等同于productlist中的productId',
`兵种名称` varchar(45) default NULL,
`攻击` int(10) unsigned NOT NULL,
`枪防` int(10) unsigned NOT NULL,
`步防` int(10) unsigned NOT NULL,
`骑防` int(10) unsigned NOT NULL,
`需要地元素` int(10) unsigned NOT NULL,
`需要风元素` int(10) unsigned NOT NULL,
`需要火元素` int(10) unsigned NOT NULL,
`需要水元素` int(10) unsigned NOT NULL,
`日消耗水元素` int(10) unsigned NOT NULL,
`移动速度` int(10) unsigned NOT NULL,
`负载量` int(10) unsigned NOT NULL,
`训练时间` int(10) unsigned NOT NULL,
`兵种类型` varchar(45) NOT NULL,
`兵种类型的等级` int(10) unsigned NOT NULL,
PRIMARY KEY (`SoldierId`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='部队兵种属性';
由于项目开发进度需要,现在需要从中拆出一个兵种类型表,需要从上面的临时表中提取兵种类型,建表如下:
CREATE TABLE `soldiergroup` (
`SoldierGroupId` int(10) unsigned NOT NULL auto_increment COMMENT '兵种的分类ID',
`SoldierGroupName` varchar(45) NOT NULL COMMENT '兵种分类名称',
PRIMARY KEY (`SoldierGroupId`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='兵种类型';
尝试了几种写法,如:
INSERT INTO soldiergroup (SoldierGoupName) VALUES( SELECT DISTINCT `兵种类型` FROM data_soldierattrib);
......
却老提示错误,上网查了一下资料,重新写了以下语句:
INSERT INTO soldiergroup (`SoldierGroupName`) SELECT DISTINCT `兵种类型` FROM data_soldierattrib;
顺利通过,看来不能主观意识太强了呀,得再恶补SQL知识了,以后曾经在单位里号称SQL王子的...

