2012-03-22 26 views
-1

我一直在尋找一個轉換工具或從mySQL切換到SQLite時要更改的東西列表。但是,就我所知,轉換工具是將已經存在的mySQL數據庫轉換爲SQLite數據庫。是否有用mySQL和SQLite創建數據庫的語法差異列表?

我還沒有製作mySQL數據庫,我只有create語句。那麼是不是要對創建語句進行一系列更改,要麼是將mySQL創建語句更改爲SQLite創建語句的轉換器?

我的SQL是這樣的:

SET @[email protected]@UNIQUE_CHECKS, UNIQUE_CHECKS=0; 
SET @[email protected]@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0; 
SET @[email protected]@SQL_MODE, SQL_MODE='TRADITIONAL'; 

CREATE SCHEMA IF NOT EXISTS `pyMS` DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci ; 
USE `pyMS` ; 

-- ----------------------------------------------------- 
-- Table `pyMS`.`msrun` 
-- ----------------------------------------------------- 
CREATE TABLE IF NOT EXISTS `pyMS`.`msrun` (
    `msrun_id` INT NOT NULL , 
    `description` VARCHAR(250) NOT NULL , 
    PRIMARY KEY (`msrun_id`)) 
ENGINE = InnoDB; 


-- ----------------------------------------------------- 
-- Table `pyMS`.`feature` 
-- ----------------------------------------------------- 
CREATE TABLE IF NOT EXISTS `pyMS`.`feature` (
    `feature_id` VARCHAR(40) NOT NULL , 
    `intensity` DOUBLE NOT NULL , 
    `overallquality` DOUBLE NOT NULL , 
    `quality` DOUBLE NOT NULL , 
    `charge` INT NOT NULL , 
    `content` VARCHAR(45) NOT NULL , 
    `msrun_msrun_id` INT NOT NULL , 
    PRIMARY KEY (`feature_id`, `msrun_msrun_id`) , 
    UNIQUE INDEX `id_UNIQUE` (`feature_id` ASC) , 
    INDEX `fk_feature_msrun1` (`msrun_msrun_id` ASC) , 
    CONSTRAINT `fk_feature_msrun1` 
    FOREIGN KEY (`msrun_msrun_id`) 
    REFERENCES `pyMS`.`msrun` (`msrun_id`) 
    ON DELETE NO ACTION 
    ON UPDATE NO ACTION) 
ENGINE = InnoDB; 
    [...] 

回答

1

我不認爲你會發現像更改列表 「爲B代替A」。 你可以做的是看看這些遷移腳本做什麼,並拿出你自己的列表。

例如,採取這種link

的一個,如果你得到像sed 's/ smallint([0-9]*)/integer /g' |你可以看到現在得到了什麼(SED是一個字符串替換unix命令)命令。

它只是通過腳本的問題。