一个视图同步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;
建立视图
-
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 是去除重复行的。
探讨
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`;