利用许多不同的 SQL“差异/比较”工具,我得到了相同的存储过程和表的差异报告(除某些关键字外的所有情况 - 请耐心等待(期望情况是相同)) 位于两个不同数据库服务器上的数据库之间。
“客户端”数据库管理工具和我使用的比较工具都已配置为尝试将关键字大写和不将关键字大写以提供一致性。
我还运行了相同的脚本来在两个数据库服务器上创建存储过程。比对涉及的数据库所在的mySQL数据库服务器都是同一个版本;5.1版本
我需要关注哪些 mySQL 服务器配置设置,以便我可以运行比较,而不会看到标记为实际不存在的差异...
这里的目的是我得到一份准确的差异报告,然后可以自信地生成数据库脚本,包括/排除升级期间的更改,这与您使用 SQL 差异工具所期望的一样!
谢谢,
最佳答案
根据我的经验,当两个模式被声明为不同时,尽管我希望它们是准确的,但这是由于
- MySQL 版本略有不同,因此表定义(
CREATE TABLE
)中的空格和大小写不同 - 不同服务器上的不同默认字符集(在服务器、数据库或表级别)
- 表上索引的不同排序(由于我在其中一台服务器上删除并重新添加它)
++
CREATE TABLE
中的AUTO_INCREMENT
值
关于mysql - SQL Diff 工具显示 2 个不同数据库服务器上 2 个相同存储过程的差异的原因是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4275925/