一个视图同步2个表内容主键重复怎么解决.有代码
刚刚接触mysql 不太懂,有劳各位指点.最好贴代码,我好理解.
我先创建视图表
- SQL code
DROP TABLE IF EXISTS `www_home`; CREATE TABLE `www_home` ( `tid` varchar(50) NOT NULL DEFAULT '' COMMENT '主题ID', ) ENGINE=MyISAM DEFAULT CHARSET=utf8 ROW_FORMAT=FIXED;
欢迎大家阅读《一个视图同步2个表内容主键重复如何解决.有代码》,跪求各位点评,by 搞代码
建立视图
- SQL code
DROP TABLE `www_home`; CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `www_home` AS select `www_software`.`id` AS `tid`, (id 是主键) from `www_software`; UNION AS select `www_game`.`id` AS `tid`, (id 是主键) from `www_game`;
我想把 www_software和www_game的 id 内容 同步到 www_home tid 中. 但是2个表中的id内容都一样,不能建立视图.
有没有办法 让2个表中id 不管是否重复都写入到 www_home tid 中.
——解决方案——————–
UNION->UNION ALL不行?
举例说明
——解决方案——————–
CREATE VIEW `www_home`
AS
select
`www_software`.`id` AS `tid`
from `www_software`
UNION ALL
select
`www_game`.`id` AS `tid`
from `www_game`;
——解决方案——————–
用union all代替union
union all不去重
——解决方案——————–
union all与union 的区别,union 是去除重复行的。
——解决方案——————–