mysql - SQL Diff 工具显示 2 个不同数据库服务器上 2 个相同存储过程的差异的原因是什么

标签 mysql stored-procedures comparison schema

利用许多不同的 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/

相关文章:

Mysql从一张表中选择,但与来自2张表的id和一个参数进行比较

php - mysql CREATE临时表+事务导致死锁

c# - 有没有更有效的方法来协调大型数据集?

java - 一个对象可以有多个比较方法来根据不同的值进行排序吗?

php - fatal error : Call to a member function fetch() on a non-object?

javascript - 比较字符串数组的相似性

mysql - XQuery 生成 DROP TABLE IF EXISTS + INSERT INTO 语句

mysql - 子查询返回超过1个值如何解决?

python-3.x - 如何从 Python 执行 Snowflake 存储过程?

sql - 更新后插入存储过程