将MySQL DDL转换为SQL Server DDL

编程入门 行业动态 更新时间:2024-10-26 11:15:20
本文介绍了将MySQL DDL转换为SQL Server DDL的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

我有一个为MySQL 5生成的模型,但是现在我需要在SQL Server安装上创建这些表。

I have a model that was generated for MySQL 5 but now I need to create these tables on a SQL Server installation.

已经有年了,因为我使用了SQL Server,因此我想确保可以将其转换为兼容脚本。

It's been years since I mucked with SQL server and I want to make sure I can convert this script to be compatible.

我真的不知道该寻找TBQH,所以事不宜迟,这是我的MySQL DDL

I don't really know what to look for TBQH, so without further ado, here's my MySQL DDL

CREATE SCHEMA IF NOT EXISTS `bof_survey` DEFAULT CHARACTER SET utf8 COLLATE default collation ; USE `bof_survey`; -- ----------------------------------------------------- -- Table `bof_survey`.`question` -- ----------------------------------------------------- CREATE TABLE IF NOT EXISTS `bof_survey`.`question` ( `id` INT UNSIGNED NOT NULL AUTO_INCREMENT , `text` VARCHAR(255) NOT NULL , PRIMARY KEY (`id`) ) ENGINE = InnoDB; -- ----------------------------------------------------- -- Table `bof_survey`.`category` -- ----------------------------------------------------- CREATE TABLE IF NOT EXISTS `bof_survey`.`category` ( `id` INT UNSIGNED NOT NULL AUTO_INCREMENT , `name` VARCHAR(45) NOT NULL , `adverb` VARCHAR(45) NOT NULL , PRIMARY KEY (`id`) ) ENGINE = InnoDB; -- ----------------------------------------------------- -- Table `bof_survey`.`answer` -- ----------------------------------------------------- CREATE TABLE IF NOT EXISTS `bof_survey`.`answer` ( `id` INT UNSIGNED NOT NULL AUTO_INCREMENT , `question_id` INT UNSIGNED NULL , `category_id` INT UNSIGNED NULL , `text` VARCHAR(60) NULL , PRIMARY KEY (`id`) , INDEX `fk_answer_question` (`question_id` ASC) , INDEX `fk_answer_category1` (`category_id` ASC) , CONSTRAINT `fk_answer_question` FOREIGN KEY (`question_id` ) REFERENCES `bof_survey`.`question` (`id` ) ON DELETE NO ACTION ON UPDATE NO ACTION, CONSTRAINT `fk_answer_category1` FOREIGN KEY (`category_id` ) REFERENCES `bof_survey`.`category` (`id` ) ON DELETE NO ACTION ON UPDATE NO ACTION) ENGINE = InnoDB;

推荐答案

一种入门方法是将DDL加载到MySQL数据库,然后使用 mysqldump --compatible = mssql 重新转储它。这应该可以帮助您入门-从那里开始,可能要遍历T-SQL文档,并逐案询问。

One way of getting started is to load your DDL into a MySQL database and then use mysqldump --compatible=mssql to re-dump it. That should get you started -- and from there on it may be going through the T-SQL docs and asking here on a case-by-case basis.

,Microsoft有一些资源,例如本文(适用于SQL Server 2000,但可以帮助正确映射数据类型。

In addition, Microsoft has some resources, such as this article (for SQL Server 2000, but it could help mapping the data types correctly).

更多推荐

将MySQL DDL转换为SQL Server DDL

本文发布于:2023-10-28 23:47:30,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1538116.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:转换为   DDL   MySQL   SQL   Server

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!