比较MySQL中两个表之间的差异
与oracle
diff相同:如何比较两个表?除了在MySQL。
假设我有两个表t1和t2,它们的布局相同,但是可能包含不同的数据。
区分这两个表的最佳方法是什么?
更准确地说,我正在尝试找出一个简单的SQL查询,该查询告诉我t1中某一行的数据是否不同于t2中相应行的数据
看来我不能使用相交也不能减去。当我尝试
SELECT * FROM robot intersect SELECT * FROM tbd_robot
我收到错误代码:
[错误代码:1064,SQL状态:42000]您的SQL语法错误;在第1行的“ SELECT * FROM
tbd_robot”附近使用与您的MySQL服务器版本相对应的手册,以在SELECT * FROM tbd_robot附近使用正确的语法
我在语法上做错了吗?如果没有,还有其他查询可以使用吗?
编辑:另外,我正在通过免费版本DbVisualizer进行查询。不知道这是否可能是一个因素。
回答:
INTERSECT
需要模拟为MySQL
:
SELECT 'robot' AS `set`, r.*FROM robot r
WHERE ROW(r.col1, r.col2, …) NOT IN
(
SELECT col1, col2, ...
FROM tbd_robot
)
UNION ALL
SELECT 'tbd_robot' AS `set`, t.*
FROM tbd_robot t
WHERE ROW(t.col1, t.col2, …) NOT IN
(
SELECT col1, col2, ...
FROM robot
)
以上是 比较MySQL中两个表之间的差异 的全部内容, 来源链接: utcz.com/qa/415336.html