我有一個爲MySQL 5生成的模型,但現在我需要在SQL Server安裝上創建這些表。將MySQL DDL轉換爲SQL Server DDL
它已經年因爲我用SQL服務器,我想確保我可以將此腳本轉換爲兼容。
我真的不知道要尋找什麼TBQH,所以事不宜遲,這裏是我的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;
我試圖在我自己的轉換中使用mysqldump,它並沒有真正的幫助。我認爲它可能會翻譯一些數據類型,但它沒有。另外,它以錯誤的順序轉儲表,不允許定義外鍵。 (但是,它成功地註釋掉了所有的MySQL SET命令:-) YMMV。我有原始的MySQL DDL腳本,在我的案例中,我發現它更容易手動轉換,在SQL Server Mgmt Studio的sql編輯器中打開腳本並解決突出顯示的問題。 – Bampfer 2017-08-09 23:15:54
微軟文章很有用,謝謝。 – Bampfer 2017-08-09 23:18:07