Запрос MySQL, эквивалентный запросу MsSQL для СОЗДАНИЯ

#mysql #sql-server

#mysql #sql-сервер

Вопрос:

У меня есть запрос для оператора Create, который отлично работает в моем SQL Yog. Но он выдает ошибки, когда я запускаю MS SQL Server Management Studio.

Мой оператор SQL Create выглядит следующим образом: —

 CREATE TABLE IF NOT EXISTS `countries` (
  `COUNTRY_ID` varchar(2) NOT NULL,
  `COUNTRY_NAME` varchar(40) DEFAULT NULL,
  `REGION_ID` decimal(10,0) DEFAULT NULL,
  PRIMARY KEY (`COUNTRY_ID`),
  KEY `COUNTR_REG_FK` (`REGION_ID`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
  

каков эквивалентный запрос в SQL server Management Studio.

Комментарии:

1. msdn.microsoft.com/en-us/library/ms174979.aspx

2. Есть ли инструмент, который преобразует его из My SQL в MS SQL?

3. Я думаю, что SQL Server не понимает ENGINE=MyISAM , и я не уверен, знает ли он IF NOT EXISTS .

4. @Keynes Online Converter

5. @Keynes, я не могу ручаться за его надежность; но за небольшое количество раз, когда я конвертировал относительно небольшие и простые специальные скрипты, он работал нормально. Рассматривайте его таким, какой он есть, бесплатный онлайн-инструмент с неизвестной достоверностью. Я уверен, что вы можете найти больше корпоративных решений, если готовы платить.

Ответ №1:

Попробуйте это

 CREATE TABLE countries 
    (
      COUNTRY_ID varchar(2) PRIMARY KEY,
      COUNTRY_NAME varchar(40) DEFAULT NULL,
      REGION_ID decimal(10,0) DEFAULT NULL
    )
  

Ответ №2:

 CREATE TABLE countries (
    country_id CHAR (2) PRIMARY KEY,
    country_name VARCHAR (40) DEFAULT NULL,
    region_id INT NOT NULL,
    FOREIGN KEY (region_id) REFERENCES regions (region_id) ON DELETE CASCADE ON UPDATE CASCADE
);