在使用mySQL和SQLite创建数据库的语法中是否有一系列差异?
我一直在寻找一个转换工具,或者在从mySQL切换到SQLite时要更改的内容列表。然而,据我所知,转换工具正在将已经存在的mySQL数据库转换为SQLite数据库 我还没有创建mySQL数据库,我只有create语句。那么,是否有一个对create语句进行更改的列表,或者有一个将mySQL create语句更改为SQLite create语句的转换器 我的sql如下所示:在使用mySQL和SQLite创建数据库的语法中是否有一系列差异?,mysql,sqlite,syntax,converter,create-table,Mysql,Sqlite,Syntax,Converter,Create Table,我一直在寻找一个转换工具,或者在从mySQL切换到SQLite时要更改的内容列表。然而,据我所知,转换工具正在将已经存在的mySQL数据库转换为SQLite数据库 我还没有创建mySQL数据库,我只有create语句。那么,是否有一个对create语句进行更改的列表,或者有一个将mySQL create语句更改为SQLite create语句的转换器 我的sql如下所示: SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0; SET @
SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0;
SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0;
SET @OLD_SQL_MODE=@@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;
[...]
我不认为你会发现像“用B替换a”这样的变化列表。 您可以做的是查看这些迁移脚本的功能,并列出您自己的列表 举个例子,拿这个上面的那个 如果您得到像sed's/smallint([0-9]*)/integer/g'.这样的命令,您可以看到正在执行的操作(sed是一个字符串替换unix命令) 这只是看剧本的问题