У меня есть модель, созданная для 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 editor и работая над проблемами, которые он выделил. – Bampfer
Статья Microsoft была полезна, спасибо. – Bampfer