我有两个共享主键的表.我的设计很糟糕,事实证明我需要确保a1中的每条记录都在a4中有相应的记录
查询:
SELECT a1.id1, a4.id4
FROM `a1`
LEFT JOIN `a4` ON a1.id1 = a4.id4
Run Code Online (Sandbox Code Playgroud)
结果:
a1.id1.............a4.id4
00000001 ......NULL
00000002 ......NULL
00001001 ......00001001
00001002 ......00001002
Run Code Online (Sandbox Code Playgroud)
使用a1的相应键将a4中的行插入的最佳方法是什么?在上面的例子中,我需要将记录00000001和00000002插入到a4中.应该保留00001001和00001002,因为它们已经存在于a1和a4中
数据库架构:
CREATE TABLE `a1` (
`id1` int(8) unsigned zerofill NOT NULL auto_increment,
`Shrt_Desc` varchar(200) default NULL,
`ptype` int(5) NOT NULL,
`userid` tinyint(5) NOT NULL,
`submit_id` int(11) NOT NULL,
`submit_time` int(11) NOT NULL,
`update_id` int(11) NOT NULL,
`update_time` int(11) NOT NULL,
`pub` tinyint(1) default '1',
`plate` tinyint(1) NOT NULL,
`item` varchar(11) default NULL,
PRIMARY KEY (`id1`), …Run Code Online (Sandbox Code Playgroud)