Estoy tratando de convertir mis sentencias MySQL create table a SQLite create table statements. La mayor parte lo he hecho, sin embargo, no sé cómo cambiar el ÍNDICE ÚNICO de MySQL a Sqlites. CREAR ÍNDICE (pensé que eran más o menos lo mismo, corrígeme si me equivoco).Cómo crear correctamente CREATE INDEX con SQLite
así que tengo la siguiente tabla de MySQL (que ha cambiado un poco desde el:
-- -----------------------------------------------------
-- 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;
Y cambió el índice de acuerdo con http://www.sqlite.org/lang_createindex.html Yo también cambiar algunas otras cosas para ir de MySQL a SQLite pero yo. probado y funcionan Así que este es mi código de SQLite:.
-- -----------------------------------------------------
-- Table `feature`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `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 ,
CREATE UNIQUE INDEX `id_UNIQUE` ON `feature` (`feature_id` ASC) ,
CREATE INDEX `fk_feature_msrun1` ON `msrun` (`msrun_msrun_id` ASC) ,
CONSTRAINT `fk_feature_msrun1`
FOREIGN KEY (`msrun_msrun_id`)
REFERENCES `msrun` (`msrun_id`)
ON DELETE NO ACTION
ON UPDATE NO ACTION);
esto no funciona cuando se quita las líneas índice que hace el trabajo Por lo que yo puedo ver las líneas índice cumplen con esta descripción.. 210, no veo a dónde va mal. Entonces, ¿cómo puedo cambiar las dos líneas
CREATE UNIQUE INDEX `id_UNIQUE` ON `feature` (`feature_id` ASC) ,
CREATE INDEX `fk_feature_msrun1` ON `msrun` (`msrun_msrun_id` ASC) ,
para hacer su sintaxis correcta?