Follow

Keep Up to Date with the Most Important News

By pressing the Subscribe button, you confirm that you have read and are agreeing to our Privacy Policy and Terms of Use
Contact

When ever I run MySQL query I get syntax error

so basically I’m trying to create multiple tables at the same time from a Entity Relation diagram from lucidchart which it generates the query of the the E-R

CREATE TABLE `Centro_Vacunacion` (
  `ID_Centro_Vacunacion` INT,
  `Direccion_Centro_Vacunacion` NVARCHAR,
  `Fecha_Inicio_Operacion` DATE,
  `ID_Provincia` INT,
  PRIMARY KEY (`ID_Centro_Vacunacion`)
);

CREATE TABLE `Personal_Medico` (
  `ID_Personal_Medico` INT,
  `Nombre_Personal_Medico` NVARCHAR,
  `Apellido_Personal_Medico` NVARCHAR,
  `Cedula_Personal_Medico` TINYINT,
  PRIMARY KEY (`ID_Personal_Medico`),
  KEY `UNIQUE` (`Cedula_Personal_Medico`)
);

CREATE TABLE `Personal_Centro` (
  `ID_Personal_Medico` INT,
  `ID_Centro_Vacunacion` INT,
  FOREIGN KEY (`ID_Personal_Medico`) REFERENCES `Centro_Vacunacion`(`Fecha_Inicio_Operacion`),
  FOREIGN KEY (`ID_Personal_Medico`) REFERENCES `Personal_Medico`(`Nombre_Personal_Medico`)
);

CREATE TABLE `Provincia` (
  `ID_Provincia` INT,
  `Nombre_Provincia` NVARCHAR,
  `ID_Pais` INT,
  PRIMARY KEY (`ID_Provincia`)
);

CREATE TABLE `Almacen` (
  `ID_Almacen` INT,
  `Nombre_Almacen` NVARCHAR,
  `Direccion_Almacen` TINYTEXT,
  `Cantidad_Vacunas` INT,
  `Cantidad_Lotes` INT,
  `ID_Vacuna` INT,
  PRIMARY KEY (`ID_Almacen`)
);

CREATE TABLE `Persona` (
  `ID_Persona` INT,
  `Nombre_Persona` NVARCHAR,
  `Apellido_Persona` NVARCHAR,
  `Cedula_Persona` TINYINT,
  `Fecha_Nacimiento` DATE,
  `Sexo` NVARCHAR(12),
  PRIMARY KEY (`ID_Persona`),
  KEY `UNIQUE` (`Cedula_Persona`)
);

CREATE TABLE `Municipio` (
  `ID_Municpio` INT,
  `Nombre_Municipio` NVARCHAR,
  `ID_Provincia` INT,
  PRIMARY KEY (`ID_Municpio`),
  FOREIGN KEY (`ID_Municpio`) REFERENCES `Provincia`(`ID_Provincia`)
);

CREATE TABLE `Pais` (
  `ID_Pais` INT,
  `Nombre_Pais` NVARCHAR,
  PRIMARY KEY (`ID_Pais`)
);

CREATE TABLE `Laboratorio` (
  `ID_Laboratorio` INT,
  `Nombre_Laboratorio` NVARCHAR,
  `Direccion_Laboratorio` NVARCHAR,
  `Fecha_Registro` DATE,
  `ID_Pais` INT,
  `Vacunas_En_Laboratorio` INT,
  PRIMARY KEY (`ID_Laboratorio`),
  FOREIGN KEY (`Direccion_Laboratorio`) REFERENCES `Pais`(`ID_Pais`)
);

CREATE TABLE `Vacuna` (
  `ID_Vacuna` INT,
  `Nombre_Vacuna` NVARCHAR,
  `Lote` NVARCHAR,
  `Laboratorio_Fabricacion` TINYTEXT(50),
  `Cantidad_Dosis` TINYINT,
  `Intervalo_Dosis` TINYINT,
  `Fecha_Creacion` DATE,
  `Fecha_Vencimiento` DATE,
  `ID_Almacen` INT,
  PRIMARY KEY (`ID_Vacuna`)
);

CREATE TABLE `Datos_Vacunacion` (
  `ID_Centro_Vacunacion` INT,
  `ID_Persona` INT,
  `Edad_Actual` TINYINT,
  `ID_Vacuna` INT,
  `Fecha_Vacunacion` DATE,
  `ID_Personal_Medico` INT,
  PRIMARY KEY (`ID_Centro_Vacunacion`),
  FOREIGN KEY (`Edad_Actual`) REFERENCES `Persona`(`Apellido_Persona`),
  FOREIGN KEY (`Edad_Actual`) REFERENCES `Vacuna`(`Laboratorio_Fabricacion`)
);

CREATE TABLE `Vacuna_Laboratorio` (
  `ID_Vacuna` INT,
  `ID_Laboratorio` INT,
  `Vacunas_Totales_Producidas` INT
);

CREATE TABLE `Centro_Almacen` (
  `ID_Centro_Vacunacion` INT,
  `ID_Almacen` INT,
  FOREIGN KEY (`ID_Almacen`) REFERENCES `Almacen`(`Direccion_Almacen`),
  FOREIGN KEY (`ID_Centro_Vacunacion`) REFERENCES `Centro_Vacunacion`(`Direccion_Centro_Vacunacion`)
);

When ever I run the query I get a syntax error but I cant figure out where. I ve tried to recreate one table with a mysql table generator but it seems to generate the same query.

MEDevel.com: Open-source for Healthcare and Education

Collecting and validating open-source software for healthcare, education, enterprise, development, medical imaging, medical records, and digital pathology.

Visit Medevel

>Solution :

you must define a size for NVARCHAR like NVARCHAR(255)

CREATE TABLE `Personal_Medico` (
  `ID_Personal_Medico` INT,
  `Nombre_Personal_Medico` NVARCHAR(255),
  `Apellido_Personal_Medico` NVARCHAR(255),
  `Cedula_Personal_Medico` TINYINT,
  PRIMARY KEY (`ID_Personal_Medico`),
  KEY `UNIQUE` (`Cedula_Personal_Medico`)
);

i suspect your code is not for MYSQL

see it runs in MySQL with VARCHAR
https://www.db-fiddle.com/f/nJMBURY4NcXG2hgYLFhbBf/0

Add a comment

Leave a Reply

Keep Up to Date with the Most Important News

By pressing the Subscribe button, you confirm that you have read and are agreeing to our Privacy Policy and Terms of Use

Discover more from Dev solutions

Subscribe now to keep reading and get access to the full archive.

Continue reading