偶尔在开发过程中遇到某些异常,需要验证数据的完整性,看某些关联数据是否缺失,例如:
user:
profile:
以上两个表,user通过profile_id关联profile中的id,同时两表没有使用外键关联,在程序发生异常时,或者业务逻辑没有强制时,都有可能存在profile中数据缺少,当数据量大时不容易查看,
这时可以通过连表查询找出缺少profile数据的对应的user的数据:
SELECT u.id,u.name,p.age,p.gender,p.height FROM `user` u LEFT JOIN `profile` p ON u.profile_id=p.id WHERE ISNULL(p.id)
结果如下:
有时候进行数据查询和纠正可以用一下。