gpt4 book ai didi

mysql - 创建 MySQL 和 SQLServer 兼容对象

转载 作者:行者123 更新时间:2023-11-29 15:05:00 26 4
gpt4 key购买 nike

我需要支持两个独立的数据库引擎 - MySQL 和 SQL Server。如果可能的话,我不想维护两组不同的脚本来创建数据库对象(表、 View 、存储过程等...)。

我想知道是否有人有做过这样的事情的经验以及学到了什么。任何与此相关的文章/文档的链接也将受到赞赏。

我遇到的一些问题是1. MySQl 对列有隐式默认值,而 SQL Server 没有2. MySQL时间戳列与SQL Server时间戳列不同3. MySQL引用不同数据库中对象的方式与SQL Server不同 - differentdb.table (mysql) vs differentdb.dbo.table (sql server)4. 两个数据库引擎的临时表创建语法不同

此列表并不详尽:)

TIA

最佳答案

解决方案是不使用任何 SQL 脚本来创建数据库对象,而是在应用程序和数据库之间使用某种抽象层:

  • 它应该采用一些“规范化”模式作为输入 - 例如,数据库结构的 XML 描述
  • 或者输出 SQL 脚本(每种数据库类型不同),或者直接作用于数据库。

有关更多信息,您可能需要查看维基百科条目 Database abstraction layer .


不确定您使用的是哪种语言,但是,例如,在 PHP 中,ORM Framework Doctrine提供了这样一个Abstraction Layer .

关于mysql - 创建 MySQL 和 SQLServer 兼容对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2336115/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com